版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010356768/article/details/89876253
【达内课程】自定义控件(文字阴影)中设置了文字大小为48,这里的48是px,也就是像素,而我们平时设置大小用的是dp
现在在布局上放置一个TextView,设置TextSize为48dp,我们观察下效果
看一下dp和px的关系
第一个字段表示每英寸有多少个像素点。1英寸 = 2.54厘米。
解决办法
写一个dp转px的方法
public class DisplayUtils {
public static int dp2px(Context c,int dp){
float scale = c.getResources().getDisplayMetrics().scaledDensity;
return (int)(scale*dp);
}
}
使用
textSize = DisplayUtils.dp2px(getContext(),(int)textSize);
效果