Android屏幕适配方案
文章转载禁止用于商业用途,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处莫高雷草原以及作者@JiongBull。
Android屏幕适配方案
统计分析
1. 2014Q1活跃Android设备统计
参数表格:
机型 | 分辨率 | 像素密度 | 屏幕宽度 |
---|---|---|---|
三星Galaxy Note2 | 720 * 1280 | xhdpi | 360dp |
三星Galaxy S3 | 720 * 1280 | xhdpi | 360dp |
小米手机2S | 720 * 1280 | xhdpi | 360dp |
三星Galaxy S4 | 1080 * 1920 | xxhdpi | 360dp |
三星Galaxy S2 | 480 * 800 | hdpi | 320dp |
三星Galaxy Note | 800 * 1280 | xhdpi | 400dp |
三星Galaxy Note3 | 1080 * 1920 | xxhdpi | 360dp |
红米手机 | 720 * 1280 | xhdpi | 360dp |
小米手机1S | 720 * 1280 | xhdpi | 360dp |
三星Galaxy Ace | 480 * 800 | hdpi | 320dp |
小米手机M2 | 720 * 1280 | xhdpi | 360dp |
小米手机M3 | 1080 * 1920 | xxhdpi | 360dp |
小米手机M1 | 480 * 854 | hdpi | 320dp |
小米手机2A | 720 * 1280 | xhdpi | 360dp |
三星GT-S7568 | 480 * 800 | hdpi | 320dp |
华为G520 | 480 * 854 | hdpi | 320dp |
三星Galaxy Mega 5.8 | 540 * 960 | hdpi | 360dp |
三星GT-S7562 | 480 * 800 | hdpi | 320dp |
OPPO R821t | 480 * 800 | hdpi | 320dp |
华为C8815 | 540 * 960 | hdpi | 360dp |
结论:绝大部分机型的屏幕宽度是320dp和360dp。
2. 2014Android操作系统趋势
结论:4.0版本以上的操作系统占据了90%以上的市场份额。
方案
1. 声明客户端支持的最小操作系统版本
- 过滤掉老旧版本操作系统,帮助我们减少针对时机型适配带来的工作量
- 可以使用Android 3.2(API等级13)版本提供的新特征利用屏幕的宽度对不同的屏幕做适配
<uses-sdk android:minSdkVersion="15"/>
2. 声明屏幕方向为竖屏
避免用户横屏时页面布局错乱。
android:screenOrientation="portrait"
3. 布局
针对手机设备,使用一套布局资源,布局中里用到的尺寸、颜色、文本等资源使用引用值。
res/layout/name.xml
4. 尺寸
参考统计分析里的参数表格,values-w320dp目录内属性适配屏幕宽度为320dp的机型,values-w360dp目录内的属性适配屏幕宽度为360dp的机型。
res/values-w320dp/dimens.xml
res/values-w360dp/dimens.xml
5. 图片
- 如果可以避免使用位图那就不要使用位图,这样可以节省空间资源,提高应用的性能
- 可以使用XML绘图代替位图,比如圆角矩形,使用XML绘制的色图比位图节省空间资源,而且可以自动适配
- 使用9-patch,9-patch可以缩放,我们可以使用很小的9-patch填充很大的UI控件,节省空间资源,提高应用的性能
- 尽量减少XML的布局层次,减少布局层次可以减少系统解析代码所做的工作,让界面的渲染速度变快
- 使用merge而不是include,使用merge可以达到减少布局层次的效果
- 尽量使用RelativeLayout,使用RelativeLayout相比使用多个LinearLayout来说可以减少布局的层次
- 每种切图都需要下面表格中的展示的三种规格
像素密度 | 系数 | Logo分辨率 |
---|---|---|
hdpi | 1.5 | 72 * 72 |
xhdpi | 2.0 | 96 * 96 |
xxhdpi | 3.0 | 144 * 144 |
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。