1

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

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

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

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

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

谢谢你的帮助!

4

2 回答 2

2

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

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

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

并且不要触摸 onmeasure()。

于 2011-02-14T18:59:11.233 回答
1

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

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

这是获取屏幕尺寸的方法。

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

于 2011-04-16T00:54:04.393 回答