已阅读 doc这很长,但仍然不清楚。
假设我有一张图片,size = 120px * 80px,在默认的mdpi/160密度下,我还需要准备
ldpi = 90 * 60
hdpi = 180 * 120
xhdpi = 240 * 160
上面的计算对吗?假设我只有一个布局,那么我需要准备图片并将它们放在相应的可绘制文件夹下,对吗?
谢谢
最佳答案
您根据 formula from Google 计算出的图像尺寸是正确的:
pixels = dp * (density / 160)
了解各种 DPI 的目标密度将使我们能够计算最终图像尺寸:
ldpi = 120 DPI
mdpi = 160 DPI
hdpi = 240 DPI
xhdpi = 320 DPI
下面是正确的宽度计算,从 120 像素宽的中等密度资源开始:
ldpi (120 DPI) = 120 * (120 / 160) == 90
mdpi (160 DPI) = 120 * (160 / 160) == 120
hdpi (240 DPI) = 120 * (240 / 160) == 180
xhdpi (320 DPI) = 120 * (320 / 160) == 240
下面是正确的高度计算,从 80 像素高的中等密度 Assets 开始:
ldpi (120 DPI) = 80 * (120 / 160) == 60
mdpi (160 DPI) = 80 * (160 / 160) == 80
hdpi (240 DPI) = 80 * (240 / 160) == 120
xhdpi (320 DPI) = 80 * (320 / 160) == 160
制作最终图像:
ldpi = 90 x 60
mdpi = 120 x 80
hdpi = 180 x 120
xhdpi = 240 x 160
在 res/ 下创建以下文件夹(如果它们尚不存在)并将正确的 Assets 放入:
- drawable-ldpi
- drawable-mdpi
- drawable-hdpi
- drawable-xhdpi
关于android - 在 Android 上支持多屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12004197/