1.在Android里边设置控件的大小一般用dp,字体用sp,当然字体大小也可以用dp来表示,不过这样APP中的字体大小就不会随着系统设置的字体大小而改变了。
2.dp不会随着手机系统的不一样,而改变。
3.Android还有一个数据单位是px(像素),在layoutparams里边设置的变量都是已px来定义的。
4.像素会随着屏幕密度的改变而有不同的显示效果,所以要想在不同的系统、机型中拥有相同的大小,就需要px与dp之间的转化,dp*系统像素密度就是px。
public class PxUtils {
public static int px2pd(Context context,float pxValue){
float scale=context.getResources().getDisplayMetrics().density;
return (int)(pxValue/scale+0.5f);
}
public static int pd2px(Context context,float dpValue){
float scale=context.getResources().getDisplayMetrics().density;
return (int)(dpValue*scale+0.5f);
}
}
网友评论