[详细]Android适配

适配的目的就是为了app在不同的语言、不同的屏幕、不同的平台中都能够平稳运行。

适配从三方面考虑:

1.语言适配

国际化 i18N 当app发布到设备时 动态的修改设备的语言 app中的文本跟随语言改变

project
res
values
strings.xml
values-en
strings.xml
values-fr
strings.xml

注意:

1.values下的strings.xml文件为默认的字符串文件 ,如果设备中设置的语言版本未提供适配时,加载默认的字符串文件.
2.语言适配只需要创建相应的values-语言编码的文件夹以及strings.xml文件即可. 当设备的语言设置发生变化时,系统会自动的根据语言加载相应的文件夹下的strings.xml文件.
3.values-语言代码,文件夹下的所有的文件名称必须相同,是strings.xml 文件的结构必须相同.唯一不同的是string标签中的语言内容

2.屏幕适配

屏幕的尺寸(small normal larger 更大),屏幕的密度(分辨率)(mdpi hdpi xhdpi xxhdpi)
1.屏幕尺寸-xml布局

project
res
layout
main.xml 当设备小于5寸时加载该文件
layout-larger
main.xml 当设备大于5寸时加载该文件
layout-sw600dp
main.xml 当设备大于7寸时加载该文件
layout-larger-land
main.xml 设备5寸以上的横屏

注意:
1.layout-x下的布局文件名称必须相同,内容可以根据当前适配的尺寸进行相应的调整.
2.只要将需要时适配的尺寸布局资源文件准备好,当app加载到设备中时 会根据当前设备的尺寸加载相应的layout下的布局文件.

2.屏幕的密度-图片
1.针对不同的屏幕密度,提供不同分辨率的多套图片.

mipmap-mdpi mipmap-hdpi mipmap-xhdpi mipmap-xxhdpi
图片的名称完全相同 根据所在的不同的文件夹分辨率不同
xhdpi: 2.0
hdpi: 1.5
mdpi: 1.0 (baseline)
ldpi: 0.75
这意味着,如果你生成一个200x200的图像xhdpi设备,就应生成设备相同的资源在150×150的hdpi,
100×100的mdpi和75x75 ldpi 。

2.使用9patch图片

sdk/tools/draw9Patch.dat
作用:作为view视图的背景拉伸时不会出现失真 打包到apk时空间较小

###3.平台适配
1.创建项目时需要指定当前项目开发的目标版本以及最低兼容的版本.
2.在使用版本更新出现的控件或者是对象需要判断当前用户设备的系统版本,如果系统版本支持再执行代码.

      //当前设备的运行版本>=view控件出现的版本
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
             ActionBar actionBar = getActionBar();
             actionBar.setDisplayHomeAsUpEnabled(true);
         }

3.用的平台风格和主题

这里写图片描述
values-fr

<resources>
    <string name="app_name">Mon Application</string>
    <string name="title">**Bonjour le monde** !</string>
</resources>

values-en

<resources>
    <string name="app_name">SupportAdapter</string>
    <string name="title">Hello World!</string>
</resources>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值