【发布时间】:2013-01-01 03:53:49
【问题描述】:
学习android,现在我有一些图像可以放入可绘制的目录(hdpi/ldpi/mdpi/xhdpi)。我读了很多,但我还是不明白。每个目录的图像应该是哪个大小?
【问题讨论】:
标签: android
学习android,现在我有一些图像可以放入可绘制的目录(hdpi/ldpi/mdpi/xhdpi)。我读了很多,但我还是不明白。每个目录的图像应该是哪个大小?
【问题讨论】:
标签: android
希望这会有所帮助...
mdpi 是参考密度——也就是说,mdpi 显示器上的 1 px 等于 1 dip。资产扩容比例为:
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
【讨论】:
我已经发布了完整的解释here
基本上,设计图像的一般准则是:
ldpi is 0.75x dimensions of mdpi
hdpi is 1.5x dimensions of mdpi
xhdpi is 2x dimensinons of mdpi
通常,我为 320x480 屏幕设计 mdpi 图像,然后按照上述规则将尺寸相乘以获得其他分辨率的图像。
请参阅完整说明以获得更详细的答案。
【讨论】:
查看图片以供参考:-(来源:-Android Studio-Image Assets 选项和Android Office Site)
【讨论】:
平板电脑支持 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 的相同资源
【讨论】:
低 dpi 是中等 dpi 的 0.75 倍
高 dpi 是中 dpi 的 1.5 倍
超高 dpi 是中等 dpi 的 2 倍
最好将所有图像制作成基于矢量的格式,这样您就可以使用 Illustrator 等矢量设计软件轻松调整它们的大小。
【讨论】:
截至 2020 年 10 月,Launcher、ActionBar/Tab 和 Notification 图标的尺寸为:
一个非常好的生成启动器图标的在线工具:https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html
【讨论】:
你可以在 android studio 中使用 Android Asset,android Asset 会给你这个尺寸的图像作为一个可绘制的,应用程序会自动使用基于设备屏幕或模拟的尺寸
【讨论】: