学习Android,现在我有一些图片要放到drawable目录中(hdpi/ldpi/mdpi/xhdpi)。我读了很多文章,但是我还是不理解。每个目录的图片应该是什么尺寸?
学习Android,现在我有一些图片要放到drawable目录中(hdpi/ldpi/mdpi/xhdpi)。我读了很多文章,但是我还是不理解。每个目录的图片应该是什么尺寸?
希望这能有所帮助...
mdpi是参考密度,也就是说,在mdpi显示屏上,1个像素等于1个dip。资产缩放的比例为:
ldpi | mdpi | hdpi | xhdpi | xxhdpi | xxxhdpi
0.75 | 1 | 1.5 | 2 | 3 | 4
虽然你不需要担心tvdpi,除非你专门为谷歌电视或原始Nexus 7开发——但即使是谷歌也建议简单地使用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
我已经在这里发布了完整的解释。
基本上,设计图像的一般准则是:
ldpi is 0.75x dimensions of mdpi
hdpi is 1.5x dimensions of mdpi
xhdpi is 2x dimensinons of mdpi
通常,我会为320x480的屏幕设计mdpi图像,然后根据上述规则乘以尺寸来获取其他分辨率的图像。
有关更详细的答案,请参阅完整说明。
ldpi | mdpi | tvdpi | hdpi | xhdpi | xxhdpi | xxxhdpi
0.75 | 1 | 1.33 | 1.5 | 2 | 3 | 4
低 DPI 的尺寸是中等 DPI 的 0.75 倍
高 DPI 的尺寸是中等 DPI 的 1.5 倍
超高 DPI 的尺寸是中等 DPI 的 2 倍
最好的实践是将所有图像都制作成基于矢量的格式,这样您可以使用矢量设计软件(例如 Illustrator)轻松调整其大小。
在Android Studio中,您可以使用Android Asset,并且Android Asset会以可绘制项的形式为您提供该尺寸的图片。应用程序将根据设备屏幕或模拟器自动使用相应的尺寸。