2011-01-25 59 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();