android 适配
一、Android屏幕适配概念
大小:实际大小以屏幕对角线的长度为准 例如:3.4 、 3.8英寸
屏幕密度:一块区域又多少个像素,一般用dpi来衡量,安卓中屏幕密度分为4种:low,medium,high,extra high
二、怎么适配多种屏幕
a.在manifest里定义你的程序支持的屏幕类型,需要程序支持什么样的设备就要在这里声明一下,相应代码如下:
<supports-screens android:resizeable=["true"| "false"]
android:smallScreens=["true" | "false"] //是否支持小屏
android:normalScreens=["true" | "false"] //是否支持中屏
android:largeScreens=["true" | "false"] //是否支持大屏
android:xlargeScreens=["true" | "false"] //是否支持超大屏
android:anyDensity=["true" | "false"] //是否支持多种不同密度的屏幕
android:requiresSmallestWidthDp=”integer”
android:compatibleWidthLimitDp=”integer”
android:largestWidthLimitDp=”integer”/>
b.对不同大小的屏幕提供不同的layout。
比如,如果需要对大小为large的屏幕提供支持,需要在res目录下新建一个文件夹layout-large/并提供layout。
当然,也可以在res目录下建立layout-port和layout-land两个目录,里面分别放置竖屏和横屏两种布局文件,以适应对横屏竖屏自动切换。
c.对不同密度的屏幕提供不同的图片。
应尽量使用点9格式的图片,如需对密度为low的屏幕提供合适的图片,需新建文件夹drawable-ldpi/,并放入合适大小的图片。
相应的,medium对应drawable-mdpi
/,high对应drawable-hdpi/,extra high对应drawable-xhdpi/。
图片大小的确定:low:medium:high:extra high比例为3:4:6:8。举例来说,对于中等密度(medium)的屏幕你的图片像素大小为48×48,
那么低密度(low)屏幕的图片大小应为36×36,高(high)的为72×72,extra
high为96×96。
三、多屏幕适配的4条原则
a.在layout文件中设置控件尺寸时应采用wrap_content,fill_parent和dp。
b.在程序的代码中不要出现具体的像素值。
c.不要使用AbsoluteLayout(android1.5已废弃) 。相应地,应使用RelativeLayout。
d.对不同的屏幕提供合适大小的图片。
四、怎样测试程序是否支持多屏幕适配
一般使用AVD Manager创建多个不同大小的模拟器,此部分略咯~