2011-01-25 58 views
1

我正在处理一个界面,其中一半的屏幕有用户输入数据的编辑文本框,另一半有一个可以绘制到的画布以及读取用户触摸。设置表面视图的大小和位置

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

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

我可以通过覆盖onMeasure方法来设置大小,但我不知道如何获取显示大小,因此我不知道要如何设置它。

我没有关于如何使视图的任何想法,我一直在试图将其添加到各种布局没有太多的运气......

感谢您的帮助!

回答

2

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

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

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

并且不要触及onmeasure()。

+0

好的。想办法。只需修改onlayout(),设置如下:View child = getChildAt(0); child.layout(100100300300);并且不要碰onmeasure()。 –

+0

我在回答中提出了你的意见,它属于哪里。 – AShelly

1

,但我不知道怎么去显示尺寸

通常你不必明确地布局的构成要素。它是布局经理的职责。 你只需要设置布局约束。

以下是如何获取屏幕大小。

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