一、转换对照表
密度类型 |
代表的分辨率(px) |
屏幕密度(dpi) |
换算(px/dp) |
比例 |
低密度(ldpi) |
240x320 |
120 |
1dp=0.75px |
3 |
中密度(mdpi) |
320x480 |
160 |
1dp=1px |
4 |
高密度(hdpi) |
480x800 |
240 |
1dp=1.5px |
6 |
超高密度(xhdpi) |
720x1280 |
320 |
1dp=2px |
8 |
超超高密度(xxhdpi) |
1080x1920 |
480 |
1dp=3px |
12 |
在Android中,规定以160dpi(即屏幕分辨率为320x480)为基准:1dp=1px
二、转换工具类
/**
* 将dp转换成对用的px
*/
protected int dp2px(int dp){
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp,getResources().getDisplayMetrics());
}
/**
* 将sp转换成对用的px
*/
protected int sp2px(int sp){
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp,getResources().getDisplayMetrics());
}
网友评论