我有一个具有以下属性的 ImageView
:
android:layout_width="match_parent"
android:layout_height="160dp"
UI 开发人员询问我想要的图像大小(以 px 为单位)。我应该问什么尺寸?我应该为不同的设备要求不同的尺寸吗?
注意
我没有具有特定高度和宽度的
ImageView
。我的 ImageView
宽度是 match_parent
不是特定的宽度。所有答案都说我应该使用转换器,如何将
match_parent
转换为 px
? 根据答案,我应该问六个图像,不是吗?
最佳答案
您应该向 UI 开发人员提供最高的屏幕密度(以像素为单位),然后自行调整以降低密度。
通常,Android 应用程序将支持最小屏幕密度 ldpi 和最大屏幕密度 xxxhdpi 。
步骤 1: 如果您希望图像大小为 160 x 160 dp
,则为 UI 开发人员提供与最大屏幕密度相关的最高图像大小。160 x 4 = 640x640 px (why multiply by 4? I will explain later)
第 2 步: 根据屏幕密度将图像 640x640 px
缩放到较小的尺寸
提示: 找到您的图像大小对应于 mdpi 密度屏幕(称为
base density
或 1X
密度)然后通过以下公式缩放到其他密度更新: 从 https://material.io/tools/devices/ 开始,基本密度屏幕的屏幕尺寸是
360x640 px
。因此,您的 ImageView
大小将是 360x160 px
密度屏幕上的 1X
。ldpi: 270x120 px
mdpi: 360x160 px
hdpi: 540x240 px
xhdpi: 720x320 px
xxhdpi: 1280x480 px
xxxhdpi: 1440x640 px
关于android - 我应该向 UI 开发人员询问什么图像尺寸?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51627488/