【问题标题】:Setting the size and position of a Surface View设置 Surface View 的大小和位置
【发布时间】:2011-01-25 23:14:30
【问题描述】:

我正在开发一个界面,其中一半屏幕有编辑文本框供用户输入数据,另一半有一个画布,可以绘制并读取用户触摸。

现在我正在扩展一个表面视图,并在运行时使用 View.Addview 将其添加到我的布局(布局是 XML)中。

我的问题是设置视图的大小和位置。我希望它是方形的并占据大约一半的屏幕(风景)。我希望它与右侧对齐,或者垂直居中,或者与顶部对齐。

我可以通过覆盖 onMeasure 方法来设置大小,但我不知道如何获取显示大小,所以我不知道将其设置为什么。

我对如何对齐视图没有任何想法,我一直在尝试将其添加到各种布局中,但运气不佳...

感谢您的帮助!

【问题讨论】:

    标签: android surfaceview


    【解决方案1】:

    有同样的问题。你找到答案了吗?

    我想通了。只需修改onlayout(),设置如下:

    View child=getChildAt(0);
    child.layout(100,100,300,300); 
    

    不要碰onmeasure()。

    【讨论】:

    • 好的。想办法。只需修改 onlayout(),设置如下: View child=getChildAt(0); child.layout(100,100,300,300);并且不要触摸 onmeasure()。
    • 我在答案中添加了您的评论,它属于哪里。
    【解决方案2】:

    但我不知道如何获取显示尺寸

    通常您不必明确地布局组件。它的布局经理的职责。 你只需要设置布局约束。

    这是获取屏幕大小的方法。

    yourActivity.getWindowManager().getDefaultDisplay().getWidth();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-22
      • 2016-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      相关资源
      最近更新 更多