天天看点

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