drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:
Android2.1(含)以后的版本中有drawable-mdpi、drawable-ldpi、drawable-hdpi三个目录,这三个目录主要是为了支持多分辨率。
dpi是“dot per inch”的缩写,每英寸像素数。
四种密度分类: ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)
一般情况下的普通屏幕:ldpi是120,mdpi是160,hdpi是240,xhdpi是320。
WVGA,HVGA,QVGA的区别
VGA是”Video Graphics Array”,显示标准为 640*480。
WVGA(Wide VGA)分辨率为 480*800
HVGA(Half VGA)即VGA的一半分辨率为 320*480
QVGA(Quarter VGA)即VGA非四分之一分辨率为240*320
drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的联系 hdpi里面主要放高分辨率的图片,如WVGA (480×800),FWVGA (480×854) 长宽比 5:3
mdpi里面主要放中等分辨率的图片,如HVGA (320×480) 长宽比 3:2
ldpi里面主要放低分辨率的图片,如QVGA (240×320) 长宽比 4:3
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。
在开发程序时为了兼容不同平台不同屏幕,我们可以上面制定长宽比裁剪图片,并确保有足够分辨率,并把它放入对应目录即可。
比如我们希望设置我们应用窗口的背景,则可以简单的用上面提到的规范裁剪对应的图片,然后做下面步骤即可:
1、将背景图片COPY到对应的drawable文件夹中,假设这里用的是bg1.png
2、修改main.xml,添加 android:background="@drawable/bg1" 即可:
3、这时候的布局文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg1">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello Android"/>
</LinearLayout>
参考资料:
Android2.1中的 drawable(hdpi,ldpi,mdpi) 的区别
Android开发中的drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的区别以及联系
http://disanji.net/2011/04/25/android-development-drawable-hdpimdpildpi-wvgahvgaqvga-diff-connection/