我已经阅读了很多关于android的扩展,并且有很多不同的意见。但我觉得理解这一点非常重要,也许有人可以解释一下。
例如,我使用很多.png-pics的位图制作游戏,我将所有内容都放在res / drawable / mdpi文件夹中。我只打算为手机推出这款游戏,所以没有平板电脑。
我使用的是星系nexus,它是hdpi,一切看起来都很好。但是在具有mdpi和xhdpi的手机上看起来会好看吗?我没有使用任何密度像素,我尝试使用canvas.setDensity(320)
,但后来我读到了应该避免这种情况。
有没有人有这方面的经验?因为我没有,并且无法测试其他手机cus所有的朋友都有i-Phones。
我只是担心我的位图在其他非hdpi的手机上看起来可能看起来很大或很小,这会破坏游戏。
答案 0 :(得分: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谎言;) - 你只是没有足够的数据所以你必须推断。因此,最好自己提供适当的绘图,否则您的最终用户会抱怨并且您的应用可能看起来不那么好。