TextView.setTextSize 单位问题
2016-07-14 17:17
225 查看
TextView.getTestSize 获得的数值的单位是sp,但是我们在代码里面通过getResources()引用尺码会出现问题
解决方法是获得尺码后再除以屏幕密度获得真正的sp数值。则可解决问题
代码如下:
float getxsmd = getPxdensity(mContext);
right_tv.setTextSize(TypedValue.COMPLEX_UNIT_SP,getResources().getDimension(R.dimen.middle_small)/getxsmd);
// 获得像素密度
public static float getPxdensity(Context context) {
WindowManager win = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dis = new DisplayMetrics();
win.getDefaultDisplay().getMetrics(dis);
return dis.density;
}
解决方法是获得尺码后再除以屏幕密度获得真正的sp数值。则可解决问题
代码如下:
float getxsmd = getPxdensity(mContext);
right_tv.setTextSize(TypedValue.COMPLEX_UNIT_SP,getResources().getDimension(R.dimen.middle_small)/getxsmd);
// 获得像素密度
public static float getPxdensity(Context context) {
WindowManager win = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dis = new DisplayMetrics();
win.getDefaultDisplay().getMetrics(dis);
return dis.density;
}
相关文章推荐
- IOS-QQ粘性效果(QQ消息提示红点)
- 如何分析CoreDump文件
- UVa 1629 Cake Slicing (切蛋糕)
- 【翻译】首个基于NHibernate的应用程序
- CSS技巧
- android之广播(二)
- PAT-乙级-1045. 快速排序(25)
- java中关于json传图片的方法
- 【牛腩新闻发布系统】-HTTP错误 403.14 –Forbidden Web服务器被配置为不列出此目录的内容
- 自定义控件_属性介绍
- (10)Hibernate一级缓存
- 第二次考试 (图论)第四题 货车运输
- 基于Scrapy框架的python网络爬虫学习(2)
- 单例模式
- ORIGIN 9.0 拟合曲线延伸
- 集合转换为Json数组
- HTML5笔记二:历史管理history
- UESTC - 149 解救小Q
- 【腾讯优测干货分享】Android5.0-6.0双卡适配指南
- jquery移动元素位置