关于 dpi 和 layout-swx

About dpi and layout-swx

我有一个 ImageView 50x50dp

我想让它在所有屏幕上看起来都不错,所以我为 ldpimdpi 等创建了不同的图片。

对于 mdpi,图像将是 50x50px,对于 ldpi (0.75) 37x37px,依此类推。

我把那些照片放在适当的文件夹 drawable-ldpidrawable-mdpi 等等。

但现在我想为 7 英寸和 10 英寸的平板电脑制作不同的布局,我使用不同的文件夹,例如 layout-swXX 并且 ImageView 在这些布局中是 100x100dpmdpi.

我需要一张 100x100px 的照片

我是否应该为另一个布局文件夹制作另一组图片?如果是,我应该把它们放在哪里?像 drawable-mdpi-swXX 这样的东西?

并且请不要让我参考那些 "Supporting Multiple Screens" 文章,我读了好几遍,它没有提供有关我的问题的信息。

如果您需要不同尺寸的图像用于不同的布局和相同的 dpi 桶,那么您需要创建两组不同的图像并以不同的方式命名它们并放入适当的 dpi 文件夹中。

实际上,这意味着对于 50x50dp 布局,您将创建 image50.png 组,对于 100x100dp 布局,您将创建 image100.png 组(image50image100 是任意名称,您可以随意命名图像,只需给它们不同的名称即可)

因此您的可绘制文件夹结构如下所示

drawable-ldpi
   - image50.png (37x37 pix)
   - image100.png (75x75 pix)

drawable-mdpi
   - image50.png (50x50 pix)
   - image100.png (100x100 pix)

drawable-hdpi
   - image50.png (75x75 pix)
   - image100.png (150x150 pix)
...

对于布局 - 在小型布局中使用 image50 用于可绘制对象,在大型布局中使用 image100