android适配一般使用dpi
那dpi与分辨率,屏幕尺寸的关系
DPI值计算是屏幕对角线的像素值除以屏幕的大小
dip=/ 屏幕尺寸,
比如:计算WVGA(800*480)分辨率,3.7英寸的密度DPI,
Diagonal pixel表示对角线的像素值=,DPI=933/3.7=252
手机像素密度(density)实际上是以单位英寸160个像素作为参考标准,主要密度有0.75,1,1.5和2,当密度为2时就表示1英寸有320个像素,Android中通过代码可以获取到屏幕的像素值和密度,根据这些值就可以反向算出屏幕的物理尺寸
屏幕尺寸=屏幕对角线的像素值/(密度*160)= / (密度*160)
型号 | 尺寸 | 分辨率 | 屏幕密度 | dip |
9500 | 5.0 | 1920*1080 | ||
9300 | 4.8 | 1280*720 | 2 | 320 |
9100 | 4.3 | 800*480 | 1.5 | 240 |
1 private void getDip(){ 2 DisplayMetrics dm=new DisplayMetrics(); 3 getWindowManager().getDefaultDisplay().getMetrics(dm); 4 System.out.println("density=="+dm.density); 5 System.out.println("densityDpi=="+dm.densityDpi); 6 System.out.println("scaledDensity=="+dm.scaledDensity); 7 System.out.println("widthPixels=="+dm.widthPixels); 8 }