文章标题

来源:互联网 发布:淘宝源代码转换器 编辑:程序博客网 时间:2024/06/07 06:53

屏幕的适配

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

屏幕的密度
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.用的平台风格和主题

0 0
原创粉丝点击