android - 你如何获得表面 View 的宽度和高度

标签 android

我正在开发一款游戏。我在位于相对布局中的表面 View 上绘制了图像。我希望我的游戏的外观在所有分辨率下都应该相同。 所以现在我想测量 surfaceview/canva 的宽度和高度,这样我就可以以适当的比例而不是硬编码值来启动图像。但是我无法检索高度和宽度,所以请帮助我。

  I tried canvas.getWidth() and all but it returns 0.

最佳答案

可能是因为你太早尝试获取宽度。

试试这个:

canvas.post(new Runnable()
    {
      public void run()
      {
        int w = canvas.getWidth();
      }
    }
);

关于android - 你如何获得表面 View 的宽度和高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3996850/

相关文章:

android - 在 Android 中使用 Facebook Android SDK 将照片上传到 Facebook

android - 更快地截取 View 的方法

android - 启动新 Activity 的日历日期选择

java - fragment View 中 webview 的进度条

Android Activity 生命周期问题

java - 在存储和访问另一个类的数组时出现 "java.lang.NullPointerException: Attempt to read from null array"错误

java - AES256 加密

java - 三星 S8+ 中的自动对焦

android - 在安卓工作室 : How to change packages file path

java - 如何在BroadcastReceiver和main方法之间传递信息