嗨 Android 开发人员,
我想知道如何选择drawables的尺寸;例如,我有一个要插入到我的应用程序中的图像,该图像应该插入到 xxhdpi、xhdpi、hdpi、mdpi 和 ldpi 中的大小(像素)?
我在 GitHub 上分析了许多 android 应用程序,它们使用随机图像大小(像素)来处理不同的密度。
嗨 Android 开发人员,
我想知道如何选择drawables的尺寸;例如,我有一个要插入到我的应用程序中的图像,该图像应该插入到 xxhdpi、xhdpi、hdpi、mdpi 和 ldpi 中的大小(像素)?
我在 GitHub 上分析了许多 android 应用程序,它们使用随机图像大小(像素)来处理不同的密度。
要为不同密度创建替代位图可绘制对象,您应该遵循六种通用密度之间的3:4:6:8:12:16 缩放比例。例如,如果您有一个用于中等密度屏幕的 48x48 像素的可绘制位图,则所有不同的尺寸应该是:
- 36x36 (0.75x) 用于低密度
- 48x48(1.0x 基线)用于中等密度
- 72x72 (1.5x) 用于高密度
- 96x96 (2.0x) 用于超高密度
- 144x144 (3.0x) 用于超高密度
- 192x192 (4.0x) 用于超超超高密度
来源:https ://developer.android.com/guide/practices/screens_support.html#DesigningResources
最简单的方法是使用 Android Asset Studio。它将为各自的屏幕密度生成所有所需的图像分辨率
我建议你阅读这个答案。它包含决定使用哪些单位所需的所有信息。TL;DR 是:永远不要使用以像素为单位的绝对值,而是对视图(包括图像)使用 dp 单位,对文本使用 sp。
此处介绍了支持多种设备。
还可以查看Material Design Guidelines以了解图标、边距等的常用尺寸