我对每个目录的用途有一个粗略的了解,但我对这个概念并不是很清楚,而且我有一些具体的问题。
例如,每个目录的目标 DPI 是多少?当您创建资产时,它应该是目标 DPI 还是更正常的 72dpi 屏幕 DPI?如果您针对多个设备,是否适合将 PNG 放入可绘制对象中,或者您是否应该始终拥有针对特定屏幕稍微定制的多个版本?
谢谢。
我对每个目录的用途有一个粗略的了解,但我对这个概念并不是很清楚,而且我有一些具体的问题。
例如,每个目录的目标 DPI 是多少?当您创建资产时,它应该是目标 DPI 还是更正常的 72dpi 屏幕 DPI?如果您针对多个设备,是否适合将 PNG 放入可绘制对象中,或者您是否应该始终拥有针对特定屏幕稍微定制的多个版本?
谢谢。
正如其他人所建议的那样,Android 在线文档对此有很好的文章。但是,我将尝试在此处列出一些快速且有用的提示:
1
. 那么,LDPI 为0.75
,HDPI 为1.5
。这意味着,如果您有一个可绘制对象,例如,50x50
在 MDPI 屏幕上,它必须~37x37
在 LDPI 屏幕和75x75
HDPI 屏幕上,以便在每个屏幕上以大致相同的物理尺寸出现(即 2 厘米)如果你把尺子放在屏幕上)。此外,您的计算机屏幕很可能是MDPI,这就是为什么建议从 MDPI 可绘制对象开始然后调整它们的大小:可绘制对象的物理尺寸在您的计算机屏幕和 MDPI Android 设备之间将非常接近。如果您在计算机和 HDPI 设备上查看 HDPI drawable,您会注意到它要大得多(再次,物理上——把尺子放在它上面)在电脑屏幕上。ListView
可以在 MDPI 设备上显示 5 个项目 它可能能够在 HDPI 设备上显示 6 个项目,尽管这些ListView
项目具有相同的密度无关(即 HDPI 上的高度是 MDPI 上的 1.5 倍)。我可能有点跑题了,但这些都是我通过用头撞到它们及时学到的东西。只是想挽救别人的头痛:)
抱歉,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,系统会从 drawables 目录中选择资源。
大小不精确,但高达 130dpi 被认为是小,从 130 到 180 可以认为是 mdpi,从 180 到 200 可以认为是 hdpi,更高的归类为 xdpi。
http://developer.android.com/guide/practices/screens_support.html