首页 > 解决方案 > Android studio 不同屏幕尺寸像素

问题描述

我为我的安卓手机(1440x2960)做了一个小游戏,我用像素来绘制(没有任何布局):

canvas.drawBitmap(image, x, y, null);

该代码在 1440x1960 屏幕上运行良好,但没有注意不同的屏幕尺寸(在 720p 下,您甚至看不到一半的游戏)。我怎样才能很好地解决这个问题?我知道,我可以为图像制作不同的尺寸,但真正的问题是 x 和 y 坐标。我想也许我可以得到屏幕的实际像素,做一个比率,并将坐标乘以它,但它比看起来更难(需要很多改变),应该是一个更好的解决方案。

标签: javaandroidandroid-studioandroid-layoutandroid-drawable

解决方案


要获得手机的分辨率,请使用

DisplayMetrics metrics = new DisplayMetrics();

当与本文档中的功能一起使用时,此对象将包含您需要相应调整图像的数据。

此外,请查看将 dp 转换为像素,反之亦然,以便在同时引用 Java 和 XML 中的大小时进行适当的缩放。


推荐阅读