首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解释drawable、drawable-ldpi、drawable-mdpi和drawable-hdpi之间的区别

解释drawable、drawable-ldpi、drawable-mdpi和drawable-hdpi之间的区别
EN

Stack Overflow用户
提问于 2011-06-16 21:56:19
回答 4查看 14.9K关注 0票数 13

我大概知道这些目录是用来做什么的,但我不是很清楚这个概念,我有一些具体的问题。

例如,每个目录的目标DPI是什么?创建资源时,它应该位于目标DPI处,还是应该位于更普通的72dpi屏幕DPI处?如果你的目标是多个设备,把PNG放在drawable中是否合适,或者你是否应该总是有多个版本稍微为特定的屏幕量身定制?

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-06-16 22:26:34

正如其他人所建议的,Android在线文档中有很多关于这方面的文章。然而,我将尝试在这里列出一些快速而有用的提示:

  1. 认为MDPI为1。然后,LDPI为0.75,HDPI为1.5。这意味着,如果你有一个可绘制的东西,也就是说,在MDPI屏幕上是50x50,那么它在LDPI屏幕上必须是~37x37,在HDPI屏幕上必须是75x75才能在每个屏幕上以大致相同的物理尺寸显示(即,如果你在屏幕上放一把尺子,就是2 2cm )。此外,您的计算机屏幕很可能是MDPI,这就是为什么建议从MDPI绘图文件开始,然后调整它们的大小:可绘图文件的物理尺寸将非常接近您的计算机屏幕和MDPI Android设备。如果你在你的电脑和HDPI设备上查看可绘制的HDPI,你会注意到它在PC屏幕上更大(同样,physically --在上面放一把尺子的样式)。
  2. 如果你不提供每个密度的特殊绘图,安卓将缩放最接近的密度automatically.
  3. You不应该考虑设备的DPI与屏幕大小和/或像素数和/或分辨率和/或纵横比有任何关系。设备可以非常小,具有HDPI屏幕,也可以非常大,具有LDPI屏幕。这种密度差异的全部要点是让所有设备上的东西看起来都是相同大小的,而不是在所有设备上都是一样的。例如,如果一个绘图包在一个MDPI设备上填满了整个屏幕,那么不要期望它在另一个MDPI设备上也会这样做。此外,不要期望在不同的DPI设备上“看到相同的东西”。大多数HDPI设备实际上比较低的DPI设备具有更多的空间。例如,如果ListView可以在MDPI设备上显示5个项目,则它可能能够在HDPI设备上显示6个项目,尽管ListView项目具有相同的与密度无关的高度(即,在HDPI上比MDPI大1.5倍)。

我可能会有点离题,但这些都是我通过用头去撞它们而及时学到的东西。只是想省去别人的头疼:)

票数 37
EN

Stack Overflow用户

发布于 2011-06-16 22:04:37

对不起,Android有一个很好的在线文档和示例,所以对于这种类型的问题,答案是:

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

票数 2
EN

Stack Overflow用户

发布于 2011-06-16 22:04:59

每个文件夹都没有确切的DPI值。每个文件夹都与某个范围相关联。查看此处:http://developer.android.com/guide/practices/screens_support.html

这些目录必须包含针对某些屏幕密度进行优化的可绘制资源。你可以只为HDPI或任何其他设备持有一个绘图,但在具有其他DPI设置的设备上,图像将以某种方式调整大小,这将花费时间/资源。另外,低DPI图像在具有HDPI的设备上看起来也很差。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6373085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档