屏幕适配——Drawable 资源


屏幕适配——Drawable 资源


上一篇:Support Screen 相关知识

http://blog.csdn.net/yaozhifeng123456/article/details/48377719


这里介绍一下,屏幕适配相关的Drawable资源:


首先:你需要在AndroidManifest.xml文件的元素如下添加子元素 
1.<supports-screens 
android:anyDensity="true" 
android:largeScreens="true"  
android:normalScreens="true"  
android:smallScreens="true"  
android:xlargeScreens="true" />   
名如其意,以上是为我们的屏幕设置多分辨率支持(更准确的说是适配大、中、小三种密度)。

android:anyDensity="true" ,这一句对 整个的屏幕都起着十分重要的作用,值为true,我们的应用程序当安装在不同密度的手机上时,程序会分别加载hdpi,mdpi,ldpi文件夹中的资 源。相反,如果值设置为false,即使我们在hdpi,mdpi,ldpi文件夹下拥有同一种资源,那么应用也不会自动地去相应文件夹下寻找资源,这种情况都是出现在高密度,以及低密度的手机上,比如说一部240×320像素的手机,如果设置 android:anyDensity="false",Android系统会将240 x 320(低密度)转换为 320×480(中密度),这样的话,应用就会在小密度手机上加载mdpi文件中的资源。


自 android2.0开始之后drawable文件被三个文件夹   drawable-hdpi,drawable-mdpi,drawable-ldpi三个文件夹所取代,有些编程人员为了让应用程序默认地加载某些图片,他们会特意地去在android2.0之后的应用程序中重新创建drawable文件夹,其实这样做完全没有必要,通过第一段的分析我们得知,android:anyDensity="false",则应用会将大小密度转变成中密度,从而去加载mdpi中的资源。这里同样,当android:anyDensity="false",则应用会去加载mdpi中的资源。 


总结一下:
(1)android:anyDensity="true"

系统会依据屏幕密度,自动去找对应的文件夹

(2)android:anyDensity="false"
1)如果drawable-hdpi,drawable-mdpi,drawable-ldpi三个文件夹中有同一张图片资源的不同密度表示,那么系统会去加载drawable_mdpi文件夹中的资源
2)如果drawable-hpdi中有高密度图片,其它两个文件夹中没有对应图片资源,那么系统会去加载drawable-hdpi中的资源。
3)如果drawable-hdpi,drawable-mdpi中有图片资源,drawable-ldpi中没有对应的图片资源,那么系统会加载drawable-mdpi文件夹中的资源 

注意上图各种文件夹的不同表示,drawable-hdpi 该图片即适用于横屏,也适用于竖屏。
1)drawable-land-hdpi,当屏幕为横屏,且为高密度时,加载此文件夹中的资源
2)drawable-port-hdpi,当屏幕为竖屏,且为高密度时,加载此文件夹中的资源 


官方地址:http://developer.android.com/guide/practices/screens_support.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值