我有两张图片要在我的应用程序中显示。
第一个图像是全屏的(作为应用程序的背景)。我已经多次阅读developer.android.com上的“支持多个屏幕”文章,但是对于每个 dpi 类别的图像大小,我仍然一头雾水。我尝试了我认为正确的尺寸,但是在大屏幕(即 1280x800@mdpi)上查看应用程序时,我发现背景出现像素化。这是可以理解的,因为我的 mpdi 图像是 320x480px。我该如何纠正?我应该使用什么尺寸的图像?
第二个图像是一个按钮。目前我的图像分辨率非常高,但是应用程序将其缩小,因此看起来不错。但是,我不希望在应用程序发布时是这样。对于这个图像,我需要知道图像应该是多少像素大小。目前,它60dp x 50dp
在应用程序内。这将以像素为单位转换为什么?我知道使用公式px = dp * (dpi / 160)
,但是在这种情况下, dpi是多少?我不能为此图像使用 NinePatch PNG。
我不明白让我的图像以什么尺寸(以像素为单位)开始,以便它们在 Android 设备上正确显示。如果您在 mdpi 设备上,是否 dp = px?
更新:
经过几个小时的努力,我想出了以下几点:
drawable-xlarge-xhdpi 2560x1920px
drawable-large-xhdpi 1920x1440px
drawable-normal-xhdpi 1280x960px
drawable-xlarge-hdpi 1920x1440px
drawable-large-hdpi 1440x1080px
drawable-normal-hdpi 960x720px
drawable-xlarge-mdpi 1280x960px
drawable-large-mdpi 960x720px
drawable-normal-mdpi 640x480px
drawable-xlarge-ldpi 960x720px
drawable-large-ldpi 720x540px
drawable-normal-ldpi 480x360px
这些将是我的可绘制目录和我期望的每个目录的最大分辨率(我决定不支持小屏幕)。因此,我的图像将是这些尺寸。
在我的手机上看起来很棒。我没有看到任何文物。它似乎也适用于 1280x800@mpdi 屏幕的模拟器,因此希望它适用于所有设备......
有没有人认为这样做有问题?有一个更好的方法吗?我的计算看起来正确吗?