我有两张图片想在我的应用程序中显示。
第一张图片是要全屏显示的(作为应用程序的背景)。我已经多次阅读了developers.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 的屏幕也似乎可以工作,所以希望它能在所有设备上运行......
有人发现用这种方法存在问题吗?有更好的方法吗?我的计算是否正确?