关于andorid开发中的一些适配,屏幕适配,版本适配,语言适配.9图片的使用要求
2016-11-17 20:03
253 查看
Android中的适配分为三方面 一、语言适配(I18N语言国际化) MyProject/ res/ values/ strings.xml values-es/ strings.xml values-fr/ strings.xml 1.在res文件夹下创建不同的values文件后缀为当前需要适配的语言编码 2.不同的values文件夹下文件名称和文件结构完全相同 唯一不同就是<String>标签中的内容不同 需要根据指定的语言编码设置 3.当app发布到设备时 系统会检测当前的语言设置 如果存在当前设备的语言就加载相应的文件夹中的字符串 如果没有进行适配 调用默认的strings.xml文件中的字符串 二、屏幕适配 屏幕适配分两方面:屏幕的尺寸 屏幕的密度(分辨率)(其实说到这里应该简单的在穿插一些关于dip,dp,sp,px之间的关系这个放到最后说) 有四种广义的尺寸:小,正常,大, XLARGE
他们的标准尺寸分别为: 超大屏幕至少960dp x 720dp 大屏幕至少640dp x 480dp 标准屏幕至少470dp x 320dp 小屏幕至少426dp x 320dp 六种广义密度:低( LDPI )120 ,中( MDPI )160 ,高(华电国际)240 ,特高( xhdpi )320++ 分别为: ldpi (low) ~120dpi mdpi (medium) ~160dpi hdpi (high) ~240dpi xhdpi (extra-high) ~320dpi xxhdpi (extra-extra-high) ~480dpi xxxhdpi (extra-extra-extra-high) ~640dpi 屏幕的尺寸(布局文件) MyProject/ res/ layout/ # default (portrait) main.xml layout-land/ # landscape main.xml layout-large/ # large (portrait) main.xml layout-large-land/ # large landscape main.xml layout-sw600dp #七寸平板以上 main.xml 1.根据需求提供多套需要的布局文件 布局文件的名称必须相同 文件的内容可以不同 2.当app发布到设备时 系统会检测设备的屏幕尺寸大小从而决定调用哪个layout下的布局文件 屏幕密度(分辨率) 1.为app提供多套不同分辨率的图片 MyProject/ res/ drawable-xhdpi/ awesomeimage.png drawable-hdpi/ awesomeimage.png drawable-mdpi/ awesomeimage.png drawable-ldpi/ awesomeimage.png 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图片的使用 9patch一般来说是以纯色图片作为背景使用 拉伸时边缘不会出现锯齿 9patch在app最终打包生成apk时比一般的图片占空间小 (下边是制作的位置,如果你使用的是studio的话,这样也是通用的,不过有更简单的方式,
打开studio的放置图片的资源文件,选择你需要制作成.9的图片,
右键选择Create 9-patch file,点击确定,你会发现你的图片资源文件中的某张图片,
多了一张.9格式的) sdk-tools-draw9patch.... 三、平台适配(版本适配) 1.指定最小和目标的API级别 (这里建议多使用一些v4,v7,v13..的包,这些都是带有向下兼容的包,但是不是兼容一些) 2.运行时检查系统版本 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { //在使用一些新sdk中出现的组件或者是控件时需要判断当前app所在的设备的sdk 版本是否已经能够使用该组件 } 3.使用的平台风格和主题
相关文章推荐
- 关于在页面加载完后使用js修改图片高度进行手机屏幕适配的问题
- Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转Base64(C#、.Net) jquery遍历table为每一个单元格取值及赋值 。net加密解密相关方法 .net关于坐标之间一些简单操作
- 使用.net框架应用C#语言开发窗口程序的一些注意事项
- 关于android中使用很多大图片的一些做法
- 关于Chrome的一些实用开发工具的使用
- 关于安卓开发以及eclipse开发使用的一些经验(一)
- 手机服务端开发关于版本控制的处理个人一些意见,欢迎补充!!!
- 关于一些Java开发工具的使用心得(不断更新)
- android关于使用哪个版本开发的讨论
- Android-关于屏幕适配的一些经验
- 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站
- Go语言开发-关于LiteIDE使用第三库时没有自动提示的解决方法
- 大叔的第三天@ 正则表达式~使用自定义标题~屏幕适配~edittext的边框~一些常量
- 关于asp.net2.0资源文件本地化多语言版本的一些小技巧
- 找到一些关于 后台开发招聘要求
- 关于代码版本管理提升开发效率的一些想法
- 关于C/C++语言中头文件的使用的一些看法
- 【游戏开发备注之一】关于Cocos2dx_v1.x版本iphone与Android运行出现图片白块、添加GameCenter报错问题及编译Android闪退的解决办法&&CCLOG与CClog的区别
- Android-关于屏幕适配的一些经验
- html5开发之viewport使用-屏幕适配