关于Android屏幕密度与分辨率
16lz
2021-01-23
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)//屏幕dpint 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 |
更多相关文章
- Android 根据屏幕大小设置字体
- android获取屏幕长宽,status bar高度,设置全屏显示
- Android 获得屏幕宽高的三种方式
- Android实现屏幕截图并保存截图到指定文件
- 【Android Training - 02】适配不同的屏幕[Lesson 1 - 支持不同
- ANDROID锁屏后解锁屏幕宽高反过来了
- android 点击屏幕让软件盘消失
- androidscreencast 屏幕录像