我为android手机(1440x2960)做了一个小游戏,并使用像素绘制(没有任何布局):
canvas.drawBitmap(image, x, y, null);
该代码可以在1440x1960的屏幕上正常工作,但没有注意屏幕的不同大小(在720p分辨率下,您甚至看不到一半的游戏)。我怎样才能很好地解决这个问题?我知道可以为图像设置不同的大小,但是真正的问题是x和y坐标。我考虑过,也许我可以获取屏幕的实际像素,做一个比例,并乘以它的坐标,但是它比看起来更难(需要进行很多更改),并且应该是一个更好的解决方案。
答案 0 :(得分:0)
要获取手机的分辨率,请使用
DisplayMetrics metrics = new DisplayMetrics();
与this documentation.中的功能一起使用时,该对象将包含您需要相应调整图像的数据。
另外,请参见在同时引用Java和XML的大小时将dp转换为像素,反之亦然,以进行适当的缩放。