我粗略地了解了这些目录的用途,但我对这个概念并不是很清楚,而且我有一些具体的问题。
例如,每个目录的目标DPI是多少?创建资产时,它应该是该目标DPI还是应该是更正常的72dpi屏幕DPI?如果您要定位多个设备,是否适合将PNG放入drawable中,或者您是否总是拥有针对特定屏幕略微定制的多个版本?
感谢。
答案 0 :(得分:36)
正如其他人所建议的那样,Android在线文档中有很多关于此的文章。但是,我将尝试在此列出一些快速且有用的提示:
1
。然后,LDPI为0.75
,HDPI为1.5
。这意味着,如果您在MDPI屏幕上有一个可绘制的,例如50x50
,则它必须在LDPI屏幕上为~37x37
,在HDPI屏幕上为75x75
,< strong>为了在每个屏幕上显示大致相同的物理尺寸(例如,如果在屏幕上放置标尺,则为2厘米)。此外,您的计算机屏幕很可能是 MDPI,这就是为什么建议从MDPI drawables开始然后调整它们的大小:drawable的物理尺寸将非常接近您的计算机屏幕和MDPI Android设备。如果您在计算机和HDPI设备上查看HDPI可绘制,您会发现它多更大(再次,物理 - 在其样式上放置一个标尺)电脑屏幕。ListView
可以在MDPI设备上显示5个项目,它可能能够在HDPI设备上显示6个项目,尽管ListView
项目具有相同的密度独立性(即HDPI比MDPI大1.5倍)。我可能有点偏离主题,但这些都是我通过敲击他们的方式及时学到的东西。只是试图挽救别人的头痛:)
答案 1 :(得分:2)
很抱歉,但Android有一个很好的在线文档,其中包含示例,因此对于此类问题,答案是:
http://developer.android.com/guide/practices/screens_support.html
答案 2 :(得分:1)
每个文件夹没有确切的DPI值。每个文件夹都与某个范围相关。见这里:http://developer.android.com/guide/practices/screens_support.html
这些目录必须包含针对某些屏幕密度优化的可绘制资源。您只能为HDPI或其他任何设备保留一个drawable,但在具有其他DPI设置的设备上,图像将以某种方式调整大小并且需要时间/资源。在具有HDPI的设备上,低DPI图像也会显得很差。
答案 3 :(得分:1)
由于屏幕尺寸和分辨率不同,Android可让您根据文件夹排列可绘制的图像。高dpi显示器的图像应放在hdpi中,类似于mdpi和ldpi。如果操作系统与任何dpi类别不匹配,或者在特殊dpi目录中找不到资源,则系统从drawables目录中选择资源,drawables的默认文件夹是drawables。
尺寸不精确但高达130dpi它被认为是小的,从130到180它可以被认为是mdpi,从180到200它可以被认为是hdpi而更高被分类为xdpi。
http://developer.android.com/guide/practices/screens_support.html