Android适配

来源:互联网 发布:小时代讲的什么知乎 编辑:程序博客网 时间:2024/06/05 02:52

适配的目的 就是为了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)
屏幕尺寸
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下的布局文件

3.屏幕的密度
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时空间较小

4.平台适配
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>
0 0