代码之家  ›  专栏  ›  技术社区  ›  Gergo Miklos

Android studio不同屏幕大小的像素

  •  1
  • Gergo Miklos  · 技术社区  · 7 年前

    我为我的android手机(1440x2960)做了一个小游戏,我用像素画画(没有任何布局):

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

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

    1 回复  |  直到 7 年前
        1
  •  0
  •   Bryan W    7 年前

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

    DisplayMetrics metrics = new DisplayMetrics();
    

    当与中的函数一起使用时,此对象将包含相应调整图像所需的数据 this documentation.

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