我正在创建一个全屏的游戏。我使用一个图像作为背景,并在其上绘制图像。背景图像在所有设备上看起来都很棒,但我不能在所有设备上的相同位置绘制覆盖图像。
例如,如果我使用
canvas.drawBitmap(overlay, 365, 85, paint);
对于宽度为854px的手机,它将完美地对齐图像。但如果低于这个值,它就会被推到右边。
我试过玩dip,但我似乎想不通。有没有什么地方我可以确保他们的项目在所有的分辨率上都是正确的?
发布于 2011-01-04 20:29:10
如果你想这样做,你可能需要根据屏幕的大小来计算位置。
您可以使用下面的代码找到这些代码:
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
wPix = dm.widthPixels;
hPix = dm.heightPixels;发布于 2011-01-04 22:41:19
我猜你的目标是1.6或更高。你的背景在每个设备上看起来都很好的原因是,当你解码资源时,Android会自动根据你的目标屏幕密度缩放资源。您可以通过将资源放在"drawable-nodpi“中(您必须创建此目录)或将适当的选项传递给解码位图函数(请查看文档)来防止出现这种情况。如果你这样做,你将需要手动缩放所有的位图。其他两个答案有正确的想法,抓起你的屏幕尺寸并计算所有的像素值。永远不要使用常量。
https://stackoverflow.com/questions/4593510
复制相似问题