2012-02-18 106 views
1

我創建了一個包含2個按鈕的自定義對話框構建器。平面佈局的視圖

根據對話框的設置,我可以選擇使用Window.GONE完全隱藏其中一個按鈕。

理想的情況是我希望發生的是: 1.如果只有一個按鈕,然後用它填補了佈局 2.如果有兩個按鈕,然後在佈局與這些

分裂的空間同樣

有沒有可能做到這一點,而不必處理對話框的寬度,按鈕的數量,然後手動設置大小? 我希望有可能會執行此

回答

2

好吧,這裏是我會怎麼做一個更合適的方法:

<LinearLayout layout_width:fill_parent layout_height:wrap_content> 

    <Button 
     layout_width=fill_parent 
     layout_height=wrap_content 
     layout_weight=1/> 
    <Button 
     layout_width=fill_parent 
     layout_height=wrap_content 
     layout_weight=1/> 
</LinearLayout> 

訣竅是把兩個元素FILL_PARENT的寬度和1的權重如果他們都被抽出,他們每個人都會佔據屏幕的一半。如果您使用View.Gone,其中一個將消失,另一個應占據所有空間。

+0

非常好,謝謝,我不知道重量屬性 – DJ180 2012-02-18 16:14:22

+0

重量是一個有趣的屬性,因爲只要它們是相對的,你就可以做任何你想要的值。我喜歡整數,所以我從1開始,但如果兩個權重都是.5或500,只要它們相同,就會得到相同的結果。 – edthethird 2012-02-18 18:12:18

1

是的cource把你的意見意味着按鈕在線性佈局和按鈕按鈕相等layout_weight將解決您的問題。