Android 【drawable-hdpi/drawable-ldpi/drawable-mdpi】的认识和区分

来源:互联网 发布:北京理工大学知乎 编辑:程序博客网 时间:2024/05/22 09:53

 从Android2.1开始,工程目录/res/目录下有了三个drawable目录:

drawable-hdpi

drawable-ldpi

drawable-mdpi

从名字上看应该是三个不同分辨率的资源文件存放的不同路径

 

至于怎么区分,实在很好奇,后来查了下资料:

shulin85的博客里看到了他的认识,http://blog.csdn.net/shulin85/archive/2011/05/30/6455175.aspx

但是感觉还不是很清楚,

http://www.cnmsdn.com/html/201003/1268929636ID2261.html的文章里提到

drawable- hdpi、drawable- mdpi、drawable-ldpi的区别:

  (1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)

  (2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)

  (3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)

  系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。

 

最后终于找到了官方的资料:

http://developer.android.com/guide/practices/screens_support.html

首先,依据分辨率区分:Density

ldpiResources for low-density (ldpi) screens (~120dpi).mdpiResources for medium-density (mdpi) screens (~160dpi). (This is the baseline density.)hdpiResources for high-density (hdpi) screens (~240dpi).

但是,从这里看不是很直观,我们可以通过这篇文章最后提供的测试方法可以看到尺寸方面的数据

 

Table 2. Various screen configurations available from emulator skins in the Android SDK (indicated in bold) and other representative resolutions.

 Low density (120), ldpiMedium density (160), mdpiHigh density (240), hdpiExtra high density (320), xhdpiSmall screenQVGA (240x320) 480x640 Normal screenWQVGA400 (240x400) 
WQVGA432 (240x432)
HVGA (320x480)WVGA800 (480x800) 
WVGA854 (480x854)
 
600x1024640x960Large screenWVGA800** (480x800) 
WVGA854** (480x854)
WVGA800* (480x800) 
WVGA854* (480x854)
 
600x1024  Extra Large screen1024x600WXGA (1280x800)
1024x768
1280x7681536x1152
1920x1152 
1920x12002048x1536
2560x1536 
2560x1600

* To emulate this configuration, specify a custom density of 160 when creating an AVD that uses a WVGA800 or WVGA854 skin.
** To emulate this configuration, specify a custom density of 120 when creating an AVD that uses a WVGA800 or WVGA854 skin.
† This skin is available with the Android 3.0 platform

 

 

写到这里,感觉一直都是认识,接下来需要继续实践

还要提高英语水平

 


-----------20110711-横屏竖屏补充

来源:http://blog.csdn.net/l_serein/article/details/6287400

三:横屏竖屏

以下步骤是网上流传的,不过我自己之前是通过图形化界面实现这个配置,算是殊途同归,有空我会把图片贴上来。
还要说明一点:每个activity都有这个属性screenOrientation,每个activity都需要设置,可以设置为竖屏(portrait),也可以设置为无重力感应(nosensor)。
要让程序界面保持一个方向,不随手机方向转动而变化的处理办法:

在AndroidManifest.xml里面配置一下就可以了。加入这一行android:screenOrientation=”landscape”。
例如(landscape是横向,portrait是纵向):

对于Android游戏开发我们不得不像iPhone那样思考兼容 Android平板电脑,对于苹果要考虑iPad、iPhone 3GS和iPhone 4等屏幕之间的兼容性,对于几乎所有的分辨率总结了大约超过20中粉笔阿女郎的大小和对应关系,对于开发Android游戏而言可以考虑到未来的3.0以 及很多平板电脑的需要。