图像尺寸(drawable-hdpi / ldpi / mdpi / xhdpi)


70

学习android,现在我将一些图像放入可绘制的目录中(hdpi / ldpi / mdpi / xhdpi)。我读了很多书,但我又听不懂。每个目录的图像大小应该是多少?

Answers:


146

希望这会有所帮助...

mdpi是参考密度-即,在mdpi显示屏上的1 px等于1度。资产缩放比例为:

ldpi | mdpi | hdpi | xhdpi | xxhdpi | xxxhdpi
0.75 | 1    | 1.5  | 2     | 3      | 4

除非您是专门为Google TV或原始Nexus 7开发的,否则您实际上不必担心tvdpi的问题,但即使Google也建议您仅使用hdpi资产。您可能也不必担心xxhdpi(尽管它永远不会造成伤害,并且至少应该在xxhdpi处提供启动器图标),并且xxxhdpi现在只是源代码中的常量(没有设备使用它,也没有使用它)我希望有一段时间(如果有的话),所以也可以忽略。

这意味着如果您正在处理48dip图像并计划支持xhdpi分辨率,则应该以96px的图像开始(如果您希望本机资产为xxhdpi,则应为144px),并制作以下​​图像作为密度:

ldpi    | mdpi    | hdpi    | xhdpi     | xxhdpi    | xxxhdpi
36 x 36 | 48 x 48 | 72 x 72 | 96 x 96   | 144 x 144 | 192 x 192

只要将它们放置在特定于密度的文件夹(例如drawable-xhdpi,drawable-hdpi等)中,它们在任何设备上的显示尺寸都应大致相同。

作为参考,这些像素的密度为:

ldpi  | mdpi  | hdpi  | xhdpi  | xxhdpi  | xxxhdpi
120   | 160   | 240   | 320    | 480     | 640


14

我已经在这里发布了完整的解释

基本上,设计图像的一般准则是:

ldpi is 0.75x dimensions of mdpi
hdpi is 1.5x dimensions of mdpi
xhdpi is 2x dimensinons of mdpi

通常,我为320x480的屏幕设计mdpi图像,然后按照上述规则将尺寸相乘以获得其他分辨率的图像。

请参阅完整的说明以获取更详细的答案。


您自己的答案的可能
重复

1
我想您的“简要”概念与我的不同。这是一个全面的答案,并且做得很好。很好的解释(这个概念很难!)。
Booger 2013年

@ wtsang02这是一个dup。OP似乎是新的,所以我为方便起见将其再次发布。
Anup Cowkur 2013年

1
@Anup Cowkur感谢您的回答!一个问题:如果我有一个源图像(即1600x960尺寸47,3Kb),应将哪个尺寸放在mdpi上?
Max Asura

1
@rbarriuso是的。xxhdpi是480dp,是mdpi的3倍。
Anup Cowkur 2013年


4

平板电脑支持tvdpi,并且缩放比例是中等dpi尺寸的1.33倍

    ldpi | mdpi | tvdpi | hdpi | xhdpi | xxhdpi | xxxhdpi
    0.75 | 1    | 1.33  | 1.5  | 2     | 3      | 4

这意味着如果为xxxhdpi设备生成400x400图像,则应以xxhdpi 300x300,xhdpi 200x200,tvdpi 133x133,hdpi 150x150,mdpi 100x100和ldpi设备75x75生成相同的资源


3

低dpi是中等dpi的0.75倍

高dpi是中等dpi的1.5倍

超高dpi是中等dpi的2倍尺寸

将所有图像制作成基于矢量的格式是一个好习惯,这样您就可以使用Illustrator等矢量设计软件轻松调整其大小。


如果确实使用矢量,则仍然需要查看位图输出并可能对其进行调整,以免在需要锐利边缘的地方不会出现模糊的边缘!(例如,按钮的边缘可能会碰到像素边界,并且在1倍时会变得清晰锐利,但在0.75倍时两个像素之间的边缘会在50%上,看起来有些泥泞)。我个人喜欢使用2x的位图,以确保要锐化的任何边缘都在8像素边界的倍数上(可以在Photoshop中添加网格),然后将图像缩放到0.75x,1x和1.5x(0.75 x将每3像素具有锐利边缘,1x将使用4像素,而1.5x将使用6像素)。
加布2014年


0

您可以在android studio中使用Android资产,并且android资产将为您提供此尺寸的图像作为可绘制对象,并且应用程序将根据设备的屏幕或仿真自动使用该尺寸


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.