0

我已经阅读了很多关于 Android 缩放的内容,并且有很多不同的意见。但我觉得理解这一点非常重要,所以也许有人可以解释一下。

例如,我正在使用大量 .png-pics 的位图制作游戏,我将所有内容都放在 res/drawable/mdpi 文件夹中。我只打算为手机推出这款游戏,所以没有平板电脑。

我使用的是 hdpi 的银河系,一切看起来都很好。但是在带有 mdpi 和 xhdpi 的手机上看起来会很好吗?我没有使用任何密度像素,我尝试使用canvas.setDensity(320)但后来我在某处读到应该避免这种情况。

有人对这个有经验么?因为我没有,也无法在其他手机上测试,因为我所有的朋友都有 iPhone。

我只是担心我的位图在其他不像我的 hdpi 的手机上看起来很大或很小,这当然会毁了游戏。

4

1 回答 1

2

如果您不提供 hdpi 资源,您的游戏在 hdpi 设备上看起来会很糟糕。这就是为什么 - 你的基本密度是 mdpi。因此,您的 400x400 dp 图像将仅在 mdpi 设备上按原样呈现。如果您想在 ldpi 上具有相同的大小,则必须将图像缩放 0.75(没什么大不了的),但是对于 hdpi,您的图像需要大 1.5 倍,对于 xhdpi 设备,则需要 mdpi 大小的 2.0 倍。因此,如果没有专用的可绘制对象,则会发生高档。而且这很少看起来不错(在大多数情况下,您最终会得到模糊的图形)。所以我在开发时总是把drawables放在res/drawable-mdpi文件夹中。一旦我准备好发布代码,我就会将 hdpi 资源添加到 res/drawables-hdpi。我个人并不关心 ldpi 设备,因为我的目标设备几乎没有比 mdpi 密度低的设备,如果有人会拥有这样的设备,那么我可以使用 android 框架进行缩减。但是升级是另一回事-您总是会得到不好的结果(模糊的图像),因为您根本无法在没有伪像的情况下从较小的位图制作更大的位图(不,CSI 谎言;)-您根本没有足够的数据,因此您必须进行推断。所以最好自己提供合适的drawables,否则你的最终用户会抱怨,你的应用程序可能看起来不像它应该的那么好。

于 2012-09-13T00:23:58.873 回答