TextView.setTextSize 单位问题

来源:互联网 发布:淘宝店铺怎么替换图片 编辑:程序博客网 时间:2024/05/21 10:56

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;
}

0 0
原创粉丝点击