Android各种屏幕的分布率以及自适应各种屏幕的开发研究
16lz
2021-01-26
下图表明了现在持有Android设备的屏幕分辨率的大概的一个分布,从中可看到mdpi跟hdpi的nomal分类占据了84%!所以我们的程序最开始要尽量适应这俩种设备。
Data collected during a 7-day period ending on May 1, 2012
ldpi | mdpi | hdpi | xhdpi | |
---|---|---|---|---|
small | 2.3% | 2.4% | ||
normal | 0.7% | 26.2% | 57.8% | 0.9% |
large | 0.3% | 2% | ||
xlarge | 7.4% |
那么下图则给出了各种分辨率屏幕的对应关系,标注红色的部分就是我们需要关心的。他们分别位于mdpi跟hdpi。
Low density (120), ldpi | Medium density (160), mdpi | High density (240), hdpi | Extra high density (320), xhdpi | |
---|---|---|---|---|
Smallscreen | QVGA (240x320) | 480x640 | ||
Normalscreen | WQVGA400 (240x400) WQVGA432 (240x432) | HVGA (320x480) | WVGA800 (480x800) WVGA854 (480x854) 600x1024 | 640x960 |
Largescreen | WVGA800** (480x800) WVGA854** (480x854) | WVGA800* (480x800) WVGA854* (480x854) 600x1024 | ||
Extra Largescreen | 1024x600 | WXGA (1280x800)† 1024x768 1280x768 | 1536x1152 1920x1152 1920x1200 | 2048x1536 2560x1536 2560x1600 |
- xlargescreens are at least 960dp x 720dp
- largescreens are at least 640dp x 480dp
- normalscreens are at least 470dp x 320dp
- smallscreens are at least 426dp x 320dp
那么如何针对mdpi跟hdpi做开发呢?我们通常在编写布局文件的时候碰到ps,dp等单位,建议大家使用dp来自适应各种屏幕,下面是dp对应屏幕分辨率:
- 320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi,480x800 hdpi, etc).
- 480dp: a tweener tablet like the Streak (480x800 mdpi).
- 600dp: a 7” tablet (600x1024 mdpi).
- 720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).
其中计算公式是: px = dp * (dpi / 160)
参考:http://developer.android.com/resources/dashboard/screens.html
http://developer.android.com/guide/practices/screens_support.html
更多相关文章
- android――屏幕分辨率
- Android(安卓)资源文件的命名规则
- Android的分辨率
- Android(安卓)禁止屏幕旋转 & 旋转屏幕时保持Activity内容
- eclipse Android开发环境配置
- 防止屏幕锁屏
- 设计师 DPI 参考指南
- 在屏幕上显示日志的Android类库
- Android(安卓)屏幕重力感应