一、兼容不同屏幕
有4种普遍尺寸(screenSize):小(small),普通(normal),大(large),超大(xlarge)
4种普遍分辨率:低精度(ldpi), 中精度(mdpi), 高精度(hdpi), 超高精度(xhdpi)
声明针对不同屏幕所用的layout和bitmap,必须把这些可选资源放置在独立的目录中,以下类似。
同样要注意屏幕的方向(横向或纵向)也是一种需要考虑的屏幕尺寸变化
创建不同的layout
目录以 -<screenSize> L为后缀命名
![](https://img.haomeiwen.com/i640013/612fef9ec6b76cb8.png)
为适配横向屏幕的layout:
![](https://img.haomeiwen.com/i640013/378f93b428db54f7.png)
如果想给横屏提供一个特殊的layout,也适配于大屏幕,那么则需要使用large和land修饰符。
Note:Android 3.2及以上版本支持定义屏幕尺寸的高级方法,Designing for Multiple Screens。
创建不同的bitmap
我们应该为4种普遍分辨率:低,中,高,超高精度,都提供相适配的bitmap资源。这能使我们的app在所有屏幕分辨率中都能有良好的画质和效果。
要生成这些图像,应该从原始的矢量图像资源着手,然后根据下列尺寸比例,生成各种密度下的图像。
![](https://img.haomeiwen.com/i640013/207e8b70adc6694d.png)
然后,将这些文件放入相应的drawable资源目录中:
![](https://img.haomeiwen.com/i640013/8a942bf461ea0bcc.png)
Note:低密度(ldpi)资源是非必要的,当提供了hdpi的图像,系统会把hdpi的图像按比例缩小一半,去适配ldpi的屏幕。
二、适配不同的语言
创建区域设置目录及字符串文件
![](https://img.haomeiwen.com/i640013/a381422f558c4bbf.png)
系统会自动调用,正常使用即可。
三、适配不同的系统版本
一般情况下,在更新app至最新Android版本时,最好先保证新版的app可以支持90%的设备使用。
指定最小和目标API级别
![](https://img.haomeiwen.com/i640013/c6ba67a6648fcefa.png)
同样可以在gradle里面设置:
![](https://img.haomeiwen.com/i640013/6ae57be37ccbd409.png)
运行时检查系统版本:
![](https://img.haomeiwen.com/i640013/01f1b7fb839d5718.png)
源地址:http://wiki.jikexueyuan.com/project/android-training-geek/supporting-devices-index.html
网友评论