自定义View中textSize显示异常
2017-02-08 17:15
218 查看
场景
在自定义View的时候自定义了一个textSize,但是使用pt/dp在不同手机上效果不同。关键代码
attr.xml<!--自定义所有标题View--> <declare-styleable name="titleView"> <attr name="titleTextSize" format="dimension" /> </declare-styleable>
TitleView.java
public TitleView(Context context, AttributeSet attrs){ super(context,attrs); ta = context.obtainStyledAttributes(attrs, R.styleable.titleView); titleSize = ta.getDimension(R.styleable.titleView_titleTextSize,0); titleView = new TextView(context); titleView.setTextSize(titleSize); }
问题原因
ta.getDimension(R.styleable.titleView_titleTextSize,0);返回的结果是dp/pt转px后的大小,但是titleView.setTextSize()是根据sp显示的,源码如下public void setTextSize(float size) { setTextSize(TypedValue.COMPLEX_UNIT_SP, size); }
代码修正
显示指定setTextSize的单位为PXtitleView.setTextSize(TypedValue.COMPLEX_UNIT_PX,titleSize);
思考
如果自定义其他View的时候和size相关的数据在显示的时候是否需要显示的指定数据的格式?相关文章推荐
- android 让TextView支持的Html标签实现自定义时钟显示组件DigitalClock
- android自定义Spinner下拉菜单和AutoCompleteTextView自动显示的(下拉列表框)样式
- 自定义TextView解决超长文字显示的问题
- android自定义Seekbar你还将你的拖动数值显示在旁边固定的TextView上么?
- TextView的一些高级应用(自定义字体、显示多种颜色、添加阴影)
- Toast自定义和一个textview中显示不同颜色
- TextView的一些高级应用(自定义字体、显示多种颜色、添加阴影)
- TextView显示带有自定义标签的HTML
- TextView显示Html类解析的网页和图片及自定义标签
- android自定义Seekbar你还将你的拖动数值显示在旁边固定的TextView上么?
- android自定义Spinner下拉菜单和AutoCompleteTextView自动显示的(下拉列表框)样式
- android自定义view解决textview显示排版的问题
- TextView的一些高级应用(自定义字体、显示多种颜色、添加阴影)
- TextView的一些高级应用(自定义字体、显示多种颜色、添加阴影)
- TextView显示Html类解析的网页和图片及自定义标签
- android自定义Spinner下拉菜单和AutoCompleteTextView自动显示的(下拉列表框)样式
- Android基础教程——在TextView中显示Html 自定义标签,获取标签属性
- TextView显示Html类解析的网页和图片及自定义标签
- 封装自定义View,创建N个按钮,按钮根据title长度Size-fit显示
- TextView 使用自定义字体并高亮显示