0

我是一位经验丰富的 Android 开发人员,但我遇到了非常简单的问题。如何在 Android 中正确制作全屏图像?目前我正在使用一个质量更好的图像并在所有设备上使用它。这工作得很好,但在非常小的设备上缩减规模看起来很糟糕,并且可能导致 OOM 错误。

关于它的线程很少,例如:

但在我看来,答案是不对的。每个人都说我应该使用 ldpi、mdpi、hdpi、xhdpi 文件夹,我同意这适用于小图像(按钮、开关)、九个补丁,以及您希望在每个屏幕上具有相同物理尺寸的东西。当涉及到全屏时,这是错误的。我的 HTC Desire (480x800) 是 hdpi,我的三星 Galaxy Tab 2 (800x1280) 是 mdpi。使用上述建议会导致 Galaxy Tab 2 使用比 HTC Desire 更小的图像,这是非常错误的。

有什么简单的方法可以解决这个全屏图像问题吗?

提前致谢

4

2 回答 2

1

一种选择是自己确定屏幕尺寸(以像素为单位获取屏幕尺寸),然后选择您使用的图像:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;

// Stuff
if      (width < /*some number*/)       putLowResFullScreenImage();
else if (width < /* a bigger number*/)  putMidResFullScreenImage();
else                                    putHighResFullScreenImage();
于 2013-05-09T10:44:35.360 回答
1

您应该使用 small-normal-large-xlarge 限定符。您甚至可以混合使用多个限定符,例如:drawable-small-hdpi 或 drawable-small-mdpi 并拥有正确的图像。

于 2013-05-09T10:50:24.510 回答