我应该从UI开发人员那里询问什么图像尺寸?

Sal*_*ian 8 android android-layout android-imageview

我有ImageView这些属性:

   android:layout_width="match_parent"
   android:layout_height="160dp"
Run Code Online (Sandbox Code Playgroud)

UI开发人员问我在px中想要的Image大小.我应该问什么尺寸?我应该问不同尺寸的不同设备吗?

注意

我没有ImageView具体的高度和宽度.我的ImageView宽度match_parent不是特定的宽度.

所有答案都说我应该使用转换器,如何转换match_parentpx

根据答案,我应该问六张图片,不应该吗?

Nhấ*_*ang 8

您应该为UI开发人员提供最高的屏幕密度(以像素为单位),然后自行调整以降低密度.

通常,Android应用程序将支持屏幕密度ldpi at min和xxxhdpi at max.

步骤1:如果您想要图像大小,则为160 x 160 dpUI开发人员提供与最大屏幕密度相关的最高图像大小.

160 x 4 = 640x640 px (why multiply by 4? I will explain later)

步骤2:640x640 px根据屏幕密度将图像缩放到较小的尺寸

  • ldpi:160 x 0.75 = 120x120像素
  • mdpi:160 x 1 = 160x160像素
  • hdpi:160 x 1.5 = 240x240像素
  • xhdpi:160 x 2 = 320x320像素
  • xxhdpi:160 x 3 = 480x480像素
  • xxxhdpi:160 x 4 = 640x640像素

提示:找到与mdpi密度屏幕(称为base density1X密度)对应的图像大小,然后通过以下公式缩放到其他密度

密度桶

更新:https://material.io/tools/devices/,基本密度屏幕的屏幕大小为360x640 px.所以你的ImageView尺寸将360x160 px1X密度屏幕上.

ldpi: 270x120 px 
mdpi: 360x160 px
hdpi: 540x240 px
xhdpi: 720x320 px
xxhdpi: 1280x480 px
xxxhdpi: 1440x640 px
Run Code Online (Sandbox Code Playgroud)


Rai*_*rav 0

好的,你想设置图像高度为 160dp(因为它是以 dp 为单位,所以这是以 mdpi 为单位的大小)。所以你必须要求 UI 开发人员将你的图像高度设为该高度的 4 倍。图像高度 = 4 * 160。之后,您可以使用 Android Studio 中的批量可绘制导入器来制作所有不同分辨率的图像。希望能帮助到你。