关于Android屏幕密度与分辨率
程序员文章站
2022-05-27 10:29:45
...
DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); //获取像素 int widthPixels= dm.widthPixels; int heightPixels= dm.heightPixels; float density = dm.density; // 屏幕密度(0.75 / 1.0 / 1.5) int densityDpi = dm.densityDpi; // 屏幕密度DPI(120 / 160 / 240) //屏幕dp int widthDips = (int)(widthPixels / density); int heightDips = (int)( heightPixels / density); pixels = dips * (densityDpi / 160)
举个例子,在DPI为240的屏幕上,1个DIP等于1.5个物理像素。
res |
densityDpi |
density |
Pixels |
Dips |
exp |
ldpi |
120 |
0.75 |
|
|
|
mdpi |
160 |
1 |
|
|
|
hdpi |
240 |
1.5 |
540 X 960 |
360 X 640 |
S4 mini |
xhdpi |
280 |
1.75 |
|
|
|
xxhdpi |
360 |
2 |
720 X 1280 |
360 X 640 |
I9300 |
下一篇: 帧率、码率、分辨率、位深度、采样率等汇总