天天看點

Android dip px 總結備忘

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

  1. DisplayMetrics dm = new DisplayMetrics();  
  2. dm = getResources().getDisplayMetrics();  
  3. float density  = dm.density;        // 螢幕密度(像素比例:0.75/1.0/1.5/2.0.3.0)  
  4. 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);