我在应用程序中使用的所有图像都位于一个文件夹 ->drawable-hdpi 中。我使用它们作为按钮、布局和一些 ImageView 的背景。这些图像的尺寸从 50x50 像素到 900x900 像素不等。
我根据屏幕尺寸(以像素为单位)计算按钮和其他控件的尺寸(以像素为单位)。
伪代码:
screenWidth = getScreenWidthInPixels();
screenHeight = getScreenHeightInPixels();
myButtons.setHeight(screenHeight * 0.1); //buttonHeight = 10 % of screenHeight
......
...
..
我希望我的图像质量(按钮背景、 ImageView 、布局背景……)在所有设备上都具有良好的质量。 现在有 5 个不同的可绘制文件夹。据我所知,我现在可以将我的drawable-hdpi文件夹中已有的相同图像放入其他四个drawable文件夹中,但分辨率不同。 我现在想要弄清楚的是我必须为哪个文件夹选择什么分辨率。正如我所说,我的图像分辨率现在从 50x50px 到 900x900px。
最佳答案
以下是 dpi 分辨率:
ldpi: 120 dpi
mdpi: 160 dpi
hdpi: 240 dpi
xhdpi: 320 dpi
xxhdpi: 480 dpi
xxxhdpi: 640 dpi
您必须根据结果计算尺寸(以像素为单位):
比例因子:
ldpi: 0.75
mdpi: 1.0
hdpi: 1.5
xhdpi: 2.0
xxhdpi: 3.0
xxxhdpi: 4.0
您可以将所有图像放在 xxxhdpi 文件夹中,然后让 Android 缩小它们...但并不总是能得到好的结果(Android 缩放 向下 很好,但不如预先设定尺寸的图像)。
现在我想 xxhdpi 分辨率就足够了,但是明天......
它会在 xxxhdpi 屏幕上向上缩放,但结果不太好(可见像素化)。
一种解决方案是使用 svg 图形(这是一种基于 xml 的矢量标准),但您需要一个外部库(有几个开源/免费 - 您选择最适合的一个)来渲染它们标准控件。
关于android - 可绘制文件夹 - 我需要什么分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22567359/