TextView textSize 文字大小
2024-10-18 22:28:42
TextView,很常见的控件。关于文字大小的方法有:
android.widget.TextView#getTextSize 返回值的单位是PX
/**
* @return the size (in pixels) of the default text size in this TextView.
*/
@ViewDebug.ExportedProperty(category = "text")
public float getTextSize() {
return mTextPaint.getTextSize();
}
android.widget.TextView#getScaledTextSize 返回值单位是SP
/**
* @return the size (in scaled pixels) of thee default text size in this TextView.
* @hide
*/
@ViewDebug.ExportedProperty(category = "text")
public float getScaledTextSize() {
return mTextPaint.getTextSize() / mTextPaint.density;
}
android.widget.TextView#setTextSize(float) 参数的单位是SP
/**
* Set the default text size to the given value, interpreted as "scaled
* pixel" units. This size is adjusted based on the current density and
* user font size preference.
*
* @param size The scaled pixel size.
*
* @attr ref android.R.styleable#TextView_textSize
*/
@android.view.RemotableViewMethod
public void setTextSize(float size) {
setTextSize(TypedValue.COMPLEX_UNIT_SP, size);
}
android.widget.TextView#setTextSize(int, float) 参数的单位是两个,第一个是单位,第二个是数值
/**
* Set the default text size to a given unit and value. See {@link
* TypedValue} for the possible dimension units.
*
* @param unit The desired dimension unit.
* @param size The desired size in the given units.
*
* @attr ref android.R.styleable#TextView_textSize
*/
public void setTextSize(int unit, float size) {
Context c = getContext();
Resources r; if (c == null)
r = Resources.getSystem();
else
r = c.getResources(); setRawTextSize(TypedValue.applyDimension(
unit, size, r.getDisplayMetrics()));
}
总结:
- get方法,注意返回值的单位
- set方法,注意参数的单位
补充
在自定义控件中使用自定义属性时,经常需要使用java代码获取在xml中定义的尺寸,相关有以下三个函数
- getDimension()
- getDimensionPixelOffset()
- getDimensionPixelSize()
它们三个返回值的单位都是:PX
最新文章
- Apworks框架实战(三):单元测试与持续集成
- wf(六)
- Facebook 网络模拟工具 ATC部署及使用
- java多线程功力
- Perl Sort函数用法总结和使用实例
- 使用属性动画简单实现view飞入效果
- innodb锁之间的兼容性判断
- size_t和ssize_t
- 结构体page_cur_t
- Python队列服务 Python RQ Functions from the __main__ module cannot be processed by workers.
- Java 实现顺序查找
- Adb connect监听指定的主机和端口/Adb监听Visual Studio Emulator for Android模拟器
- malloc、calloc、realloc三者的差别
- [高级软件工程教学]团队Beta阶段成绩汇总
- 【EMV L2】CDA复合动态数据认证/应用密文生成
- 20175314薛勐 MyOD(课下作业,选做)
- Content-type详解
- 在VMware14上安装centos6.5
- Java SpringMVC框架学习(二)httpServeltRequest和Model传值的区别
- GridColumn (Column Layout and Auto Width)