适用于不同屏幕的Android图像

时间:2017-05-01 19:13:53

标签: android android-imageview android-image android-screen-support

我正在开发一款使用大量图片和图标的Android应用。 为了防止设备工作困难和内存不足,我想为每个屏幕尺寸创建多个图像 我的问题是:我是否需要测量完全我想要的dp然后将其转换为像素?
有时很难确切地知道dp中图像的大小 - 例如,如果它的宽度是match_parent并且有边距等等。

我该如何解决这个问题呢? 我很乐意就如何以最好的方式做到这一点提供指导。

1 个答案:

答案 0 :(得分:2)

不要为每个屏幕尺寸创建图像,而是为每个屏幕密度创建。因此,对于mdpi,hdpi,xhdpi,xxhdpi和xxxhdpi,您将需要五个不同的文件(如果您不想支持其中一些文件,请不要将文件放在相应的文件夹中)。算法如下:拍摄图像并将其放入“xxxhdpi”文件夹。然后调整它的大小,使其在具有xxxhdpi密度屏幕的设备上看起来像你想要的那样。然后使用以下比率调整图像大小以获得其他密度:

{{1}}

例如,要获取mdpi图像的大小,请将xxxhdpi图像的宽度和高度除以4。