Android适配

android多版本适配(屏幕/)

2017-02-24  本文已影响530人  潇潇凤儿

1. 多屏幕分辨率适配

1) 首先在定义屏幕尺寸上,一般选用dp,文字上选用sp;

2) UI切图时,根据不同的分辨率,切h/xh/xxh/xxxh等不同大小的图;图片做成.9.png;对于特殊屏幕切图,可新建相应的分辨率的文件夹进行存放,如drawable-hdpi-854*480存放854*480 hdpi大小的图片;

3) 尽量按比例来设置屏幕权重,如用Linearlayout布局,设置weight; 使用wrap_content、match_parent、weight

4) 同时针对一些特殊屏幕适配可以在每个分辨率下面建一套layout,比如layout-480x800,layout-1280x720,1080x1080等。这种方法的缺点就是产品需要改点需求的时候,每一个layout文件都需要去修改,增加了适配的工作量。

5) 使用布局别名:如适配手机的单面板(默认)布局:res/layout/main.xml; 适配尺寸>7寸平板的双面板布局:res/layout/main_twopanes.xml

2. 多语言适配

可以在res下面建立相应国家的values-##(-r**)来提供对应的字符串资源,中间的##代表语言编号,后面的**代表区域编号,如果某种语言不需要提供区域,后面的-r**则不需要,如中需要适配英文,则命名values-en,若需要适配美国英文:values-en-rUS和英国英文:values-en-rGB ,简体中文:values-zh-rCN, 繁体中文:values-zh-rTW,中文(香港):values-zh-rHK,再在相应的文件夹下写上对应的strings.xml文件。具体对应关系可查看:http://blog.csdn.net/u011002668/article/details/50442210

3.android系统版本适配,不同API适配

如果需要根据android系统版本来设置不同的高度或是样式,可能过添加values-v11, values-v14, values-v19等不同文件夹,专门给相应的版本适配dimens,styles等。

values-v11代表在API 11+的设备上,用该目录下的styles.xml代替res/values/styles.xml

values-v14代表在API 14+的设备上,用该目录下的styles.xml代替res/values/styles.xml

values-v19代表在API  19 +的设备上,用该目录下的styles.xml代替res/values/styles.xml

其中API 11+代表android 3.0 +, API 14+代表android 4.0+, API  19+代表android 4.4 +

举个例子:对于不同的android API版本的手机,可能在设置高度或是样式上会要求不一样,比如在设置沉浸式状态栏时,在4.4之前状态栏一直是黑色的,4.4中可设置windowTranslucentStatus给状态栏着色,5.0引入了Material Design风格,可直接在主题中设置状态栏的颜色。如果设置沉浸式状态栏,标题栏还保持原来的高度,会使标题栏会和状态栏重叠。对于标题栏的高度,4.4以上版本,需要加上状态栏的高度,而4.4以下版本则保持原标题栏高度即可,可以添加多个values版本,对不同的版本,设置不同的dimens.xml。

4. 针对特殊手机的处理

有些手机厂商自改手机系统,可能导致程序需要一些特殊配置,如锤子手机、三星手机、小米手机等,导致消息推送或是一些其他原因不适配,则需要获取当前手机型号版本,进行特殊适配。

上一篇下一篇

猜你喜欢

热点阅读