我对这些目录中的每一个都有一个粗略的概念,但我对这个概念并不十分清楚,并且我有一些具体问题。解释drawable,drawable-ldpi,drawable-mdpi和drawable-hdpi之间的区别
例如,每个目录的目标DPI是什么?当你创建一个资产时,它应该在那个目标DPI上吗?还是应该在更普通的72dpi screen DPI上?如果您的目标是多个设备,是否可以将PNG绘制为可绘制的,或者您是否总是针对特定屏幕定制多个版本?
谢谢。
我对这些目录中的每一个都有一个粗略的概念,但我对这个概念并不十分清楚,并且我有一些具体问题。解释drawable,drawable-ldpi,drawable-mdpi和drawable-hdpi之间的区别
例如,每个目录的目标DPI是什么?当你创建一个资产时,它应该在那个目标DPI上吗?还是应该在更普通的72dpi screen DPI上?如果您的目标是多个设备,是否可以将PNG绘制为可绘制的,或者您是否总是针对特定屏幕定制多个版本?
谢谢。
正如其他人所说,Android的在线文档对这个伟大的文章。但是,我将尝试在此列出一些快速且有用的提示:
1
。然后,LDPI是0.75
,HDPI是1.5
。这意味着如果在MDPI屏幕上有一个可绘制的图案,例如50x50
,则它必须在LDPI屏幕上为~37x37
,在HDPI屏幕上为75x75
,为了在物理尺寸大致相同的情况下显示每个屏幕(如果您在屏幕上放置标尺,则为2厘米)。此外,您的电脑屏幕是最有可能 MDPI,这就是为什么它建议先从MDPI drawables,然后调整它们:物理大小的可绘制将非常接近你的电脑屏幕和MDPI Android设备之间。如果您在计算机和HDPI设备上查看可绘制的HDPI,您将注意到它在电脑屏幕上变大了(再次,物理 - 放置了一个标尺)。ListView
可以在MDPI设备上显示5个项目,它可能能够在HDPI设备上显示6个项目,尽管事实上ListView
项目具有相同的密度独立性(即,HDPI的1.5倍在MDPI)高度。我可能有点偏离主题,但这些都是我通过猛撞我的头脑来对付他们的情况。只是想拯救别人的头痛:)
这可能会有所帮助:http://blog.blundell-apps.com/list-of-android-devices-with-pixel-density-buckets/ – Blundell 2012-06-05 16:40:27
感谢@Felix的清晰解释。我读过很多其他帖子,但无法理解!这对我来说真的很清楚! – 2013-12-14 00:03:28
要添加到您的第一点,XHDPI是'2'而XXHDPI是'3'。因此,以MDPI屏幕上的50x50可绘制为例,它必须在XHDPI屏幕上显示为“100x100”,在XXHDPI屏幕上显示为“150x150”。 – Nick 2014-01-08 16:17:21
很抱歉,但Android已经有例子一个伟大的在线文档,这样对这类问题的回答是:
http://developer.android.com/guide/practices/screens_support.html
有每个文件夹没有确切的DPI值。每个文件夹都与某个范围有关。请参阅:http://developer.android.com/guide/practices/screens_support.html
这些目录必须包含为某些屏幕密度优化的可绘制资源。您可以只保存一个HDPI或其他任何可绘制的画布,但在具有其他DPI设置的设备上,图像将以某种方式调整大小,并且需要时间/资源。具有HDPI的设备的低DPI图像看起来很差。
由于屏幕尺寸和分辨率不同,Android可让您根据文件夹排列可绘制图像。高dpi显示图像应放置在hdpi中,并且类似于mdpi和ldpi。如果操作系统与任何dpi类别不匹配,或者在特殊dpi目录中找不到资源,系统将从drawables目录中选择资源,则drawable的默认文件夹是可绘制的。
尺寸并不精确,但高达130dpi它被认为很小,从130到180它可以被认为是mdpi,从180到200它可以被认为是hdpi而较高被归类为xdpi。
http://developer.android.com/guide/practices/screens_support.html
我希望有更多的东西比文档的链接。我已阅读/浏览了screen_support文档,但我仍然有上面的具体问题。 – 2011-06-16 14:16:17