`
寻梦者
  • 浏览: 641332 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Android2.2中drawable(hdpi,ldpi,mdpi)、android :gravity区别

阅读更多

一.drawable(hdpi,ldpi,mdpi)有什么区别?

答:主要是为了支持多分辨率的.

hdpi里面主要放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)

mdpi里面主要放中等分辨率的图片,如HVGA (320x480)

ldpi里面主要放低分辨率的图片,如QVGA (240x320)

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

所以在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片

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)

mdpi里面主要放中等分辨率的图片,如HVGA (320×480)

ldpi里面主要放低分辨率的图片,如QVGA (240×320)

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

二、到底放哪个drawable文件夹里面?

有人肯定会对于android中放置图片的地方drawable—hdpi、drawable—mdpi、drawable—ldpi这三个感到好奇。肯定心里会想,放在哪一个都行,只要是在android中的res目录下的drawable中就行,系统会自己找到。有心的朋友肯定会他把弄个究竟。我以前对drawable—hdpi、drawable—mdpi、drawable—ldpi这三个也了解了一下,但是只是字面上的,没有真正理解透彻,到今天我才算有稍深点的理解。drawable—hdpi看他的单词名肯定知道他是放置高分辨率的图片,drawable—mdpi放置中等分辨率的图片,drawable—ldpi放置低分辨率的图片。大部分人都把的图片放在drawable—mdpi中。起初我认为随便将图片放置在三个当中的任意一个都行,但是今天我知道了。在分辨率低于480*800时把图片放在drawable—mdpi中是不会有什么影响,但是当分辨率为420*800或高于它时就会出问题了。你的手机屏幕有那么大但是他会将图片拉伸,当加载图片后让你感觉该屏幕没有实际的大小,而如果将图片放到drawable—hdpi中则该问题就不会存在了。比如手机屏幕的大小为420*800如果你将图片放在drawable—mdpi中,那么你就要准备一张340*525分辨率的图片

三、android :gravity  android:layout_gravity 区别

在写android xml时候,一个属性可以有android :gravity  android:layout_gravity.

我就纳闷,这两个有什么区别呢? 肯定有区别,到底什么区别.

自己测试了,总结了下,希望对你有帮助.

android:gravity 属性是对该view 内容的限定.比如一个button 上面的text.  你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个.

android:layout_gravity是用来设置该view相对与起父view 的位置.比如一个button 在linearlayout里,你想把该button放在靠左  靠右等位置就可以通过该属性设置.

四、drawable是否支持多级目录

res目录下不支持多级目录

你看一下android文档里面对图片资源的folder分级分类的介绍吧 

建议你用文件夹不同后缀组合的方式来分

http://developer.android.com/guide/topics/resources/providing-resources.html

包括MCC port/land language等方式来分类

你在里面再建子文件夹 系统也不会正确识别

你可以看一下AAPT里面的Image.cpp 我记得里面有对文件夹名解析的逻辑

应该是可以分的 ,但不是二级目录这么分,我只是测试了下,比如你想在drawable-mdpi文件下建个二级目录来存放相应的图片,你可以建立一个drawable-mdpi-finger目录代替,这个目录和drawable-mdpi同一级别,这样当用R.drawable.id的时候就可以找到在drawable-mdpi-finger下面的图片,但是用其他的名字则不行,如用drawable-mdpi-home,可能android有相应的命名机制吧,具体你可以看下contacts这个目录下,他的图片不单单存放到drawable-mdpi这下面,它把一些图片放在了drawable-mdpi-finger下面,具体还可以怎么命名还是要我们去发现,希望对你有用。


网上摘录,个人整理

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/limboenvoy/archive/2011/04/27/6368018.aspx

分享到:
评论

相关推荐

    Android实训1-动物连连看游戏界面制作-线性布局-drawable-hdpi资源

    线性布局是Android中最基础的布局方式,它允许你按照垂直或水平方向排列子视图。在XML布局文件中,我们可以通过设置`orientation`属性来决定是垂直(`vertical`)还是水平(`horizontal`)布局。线性布局的优点在于...

    android开发新浪微博客户端+完整攻略.pdf

    所有图片被存储在res/drawable-mdpi文件夹下,考虑到不同分辨率的设备,通常还需要在drawable-ldpi和drawable-hdpi文件夹放置相应尺寸的图片。 接下来,作者在res/layout目录下创建了main.xml布局文件,使用...

    android计算器设计

    Android支持多种分辨率的图标,包括hdpi(高密度)、mdpi(中密度)和ldpi(低密度),这些图标应分别放在对应的drawable目录下。在AndroidManifest.xml文件中,我们指定位图资源,如`<application android:icon="@...

    Android知识点

    - **drawable-mdpi**: 中密度屏幕的图片资源。 - **layout**: 布局文件。 - **values**: 字符串、颜色、尺寸等资源。 **1.6 Layout (布局文件)** - **定义**: 存放 UI 布局 XML 文件。 - **例子**: `main.xml` ...

    android知识点整理

    根据不同的设备分辨率,图片资源通常被分为`drawable-hdpi`、`drawable-ldpi`和`drawable-mdpi`等目录,以确保在不同设备上正确显示。`layout`目录存放XML布局文件,例如`main.xml`。 5. `Values`: 这里可以定义...

    android新浪微博客户端文档

    - 图片资源:根据设计效果,将图片切分为四个部分并保存为PNG格式,针对不同分辨率的设备,将图片放入res/drawable-mdpi、-ldpi和-hdpi文件夹。 - Layout编写:使用LinearLayout作为布局容器,包含ImageView控件...

Global site tag (gtag.js) - Google Analytics