Android设备有多种分辨率,到目前为止就有FWVGA,WVGA,VGA,HVGA,QVGA几种,其中
VGA是:Video Graphic Array显示标准为480 x 640
WVGA是Wide VGA,分辨率为480 x 800
FWVGA是Full Wide VGA,分辨率为:480 x 854
HVGA是Half VGA,分辨率为:320 x 480
QVGA是Quarter VGA,分辨率为:240 x 320
目前在Android工程的res文件夹中有几种drawable的类型,分别为xxhdpi,xhdpi,hdpi,mdpi,ldpi。对应的是超超高密度400dpi(左右),超高密度320dpi,高密度240dpi,中密度160dpi,低密度120dpi。
xxhdpi:主要存放超超高密度图片,背景图:1080 x 1920,Icon:144 x 144,适配机型:谷歌 Nexus 4
xhdpi:主要存放超高密度图片,背景图:720 x 1280,Icon:96 x 96,适配机型:小米2等大屏手机
hdpi:主要放高密度图片:背景图:480 x 800,Icon:72 x 72,适配机型:WVGA(480 x 800)和FWVGA(480 x 854)
mdpi:主要放中密度图片:背景图 :320 x 480,Icon:48 x 48,适配机型:HVGA(320 x 480)
ldpi:主要放低密度图片:背景图:240 x 320,Icon:36 x 36,适配机型:QVGA(240 x 320)
在实际开发中,将对应分辨率放到对应的drawable文件中,Android系统就会根据具体设备的分辨率多少,然后在对应的drawable文件中找资源,如果某个资源没有找到,就会在其他的drawable文件夹中找。
也可以指定特定分辨率的drawable文件夹。像480 x 854的分辨率,可以新建一个drawable-854x480文件夹(要反着写),以其它的drawable文件夹的资源为标准,必须放入完整的素材文件,否则会看到drawable文件夹有一个红色小叉。那么480x854分辨率的设备就会优先加载这个drawable的资源。
编写XML布局文件采用的布局
Android上的布局有LinearLayout、RelativeLayout、FrameLayout、TableLayout、AbsoluteLayout布局几种。为了实现屏幕自适应,建议不使用AbsoluteLayout,这是绝对布局,而且在最新的SDK中,AbsoluteLayout已经被弃用了。
编写XML布局文件采用的单位
常见的单位有dp(dip),px,sp,pt,in,mm。in、mm是长度单位,一般在开发中很少用到,而pt应用在印刷业上。px是像素单位,dp是设备独立像素,该单位不依赖像素,可以用在多种分辨率上,开发中推荐使用dp单位。sp是放大像素单位,在设置字体上推荐使用sp单位。