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