QVGA屏density=120; QVGA(240*320)
HVGA屏density=160; HVGA(320*480)
WVGA屏density=240; WVGA(480*800)
720p屏density=320; 720p(720*1280)
1080 p屏density=480; 1080p(1080*1920)
当屏幕density=240时,使用hdpi 标签的资源
当屏幕density=160时,使用mdpi标签的资源
当屏幕density=120时,使用ldpi标签的资源。
当屏幕density= 320 使用xhdpi标签的资源
当屏幕density=480 使用xxhdpi标签的资源
读取资源策略: 先找本density对应的资源 没有对应的资源 从上向下找资源 哪里有资源就选哪一个 都没有选择默认
pixs =dips * (densityDpi/160).
dips=(pixs*160)/densityDpi
-
DisplayMetrics dm = new DisplayMetrics();
-
dm = getResources().getDisplayMetrics();
-
float density = dm.density; // 屏幕密度(像素比例:0.75/1.0/1.5/2.0.3.0)
-
int densityDPI = dm.densityDpi; // 屏幕密度(每寸像素:120/160/240/320/480)
public static int dip2px(Context context, float dpValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
public static int px2dip(Context context, float pxValue) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (pxValue / scale + 0.5f);