自定义控件中setText()设置字体相同大小无法与原生控件一致
来源:互联网 发布:软件著作权代办 编辑:程序博客网 时间:2024/06/06 05:19
本文转自:http://blog.csdn.net/u010246789/article/details/51396351
一、问题:自定义控件和原生TextView中都设置字体大小为10sp,为什么显示的差异会这么大?
代码:
二、剖析:(1)经过debug发现,设置的10sp,到后台后变成了30;手机是1080*1920的,所以在这里已经是被转成像素后的大小
对分辨率及比例不是很了解的,可以简单参考下图:
(2)为什么原生TextView不会有问题呢?于是就跟了下TextView的源码,发现:
private void setRawTextSize(float size) { if (size != mTextPaint.getTextSize()) { mTextPaint.setTextSize(size); if (mLayout != null) { nullLayouts(); requestLayout(); invalidate(); } } }
三、解决:最后是设置的Paint的大小,于是做如下修改:
textView.setText(text); textView.setTextSize(textSize); textView.getPaint().setTextSize(textSize);
效果图:
阅读全文
0 0
- 自定义控件中setText()设置字体相同大小无法与原生控件一致
- 自定义控件中setText()设置字体相同大小无法与原生控件一致
- 自定义控件,设置其控件大小
- VC控件大小和字体设置
- Activity 中获取所有控件 并设置自定义字体
- 设置html 输入框控件text的自定义长度宽度和字体的大小
- VC中控件字体与文本颜色的设置
- VC中控件字体与文本颜色的设置
- VC中控件字体与文本颜色的设置
- edit控件中如何设置字体的颜色,并把一行文字设置成不同大小。
- 自定义控件之设置文本的大小
- 自定义控件设置canvas画布的大小
- 代码设置与xib上控件一致的颜色
- Android 调整控件位置和大小(以textView为例,并设置字体与背景颜色)
- MM求助:如果让Datagrid控件大小与窗体大小一致
- static控件设置字体与透明属性
- 控件的setText
- WebBrowser控件中JS与原生交互
- MIL-STD-810E/F/G Testing
- php处理图片
- Android网络编程要学的东西与Http协议学习
- java对象序列化理论总结
- cf Educational Codeforces Round 27 B. Luba And The Ticket
- 自定义控件中setText()设置字体相同大小无法与原生控件一致
- java8-function源码
- 分离独立js文件
- TOMCAT内存溢出及大小调整
- Mysql 远程登录1045失败解决办法
- Android <ViewStub>优化
- 余弦距离、欧氏距离和杰卡德相似性度量的对比分析
- 项目遇到的一些新知识(一)
- 在数组 arr 末尾添加元素 item。不要直接修改数组 arr,结果返回新的数组