2014-02-21 64 views
0

我目前正在修改一個xml佈局,並且我想將所有的視圖分成2個部分,每個部分的高度可用。佈局看起來是這樣的:Layout_weight得到2個相等的高度佈局

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
> 

    ...Lots of stuff... 

</LinearLayout> 

我做什麼是包裹在一個線性佈局各的意見「半壁江山」,和權重分配給每個。

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
> 

    <!-- Top half --> 
    <LinearLayout 
     android:layout_weight="1" 
     android:layout_height="0dp" 
     android:layout_width="fill_parent" 
     android:orientation="vertical"> 

     ... stuff and things ... 

    </LinearLayout> 

    <!-- Bottom half --> 
    <LinearLayout 
     android:layout_weight="1" 
     android:layout_height="0dp" 
     android:layout_width="fill_parent" 
     android:orientation="vertical"> 

     ... things and stuff ... 

    </LinearLayout> 

</LinearLayout> 

我不明白爲什麼這不會給我2個相等的窗格。較低的一個似乎佔用了可用空間的90%。我嘗試添加(android:weightSum =「2」)到容器佈局,但無濟於事。這些佈局都沒有ID,所以後面的代碼不應該能夠修改它們。任何想法發生了什麼?孩子們的意見是否能夠修改他們的「半」容器,以便它們看起來不相同?

+0

您的佈局文件似乎沒問題。你正在添加什麼內容?有沒有圖像? – Rakhita

+0

這裏有一個很棒的東西。有用於按鈕圖標和背景的圖像,但與佈局大小相比,它們實際上不重要。看起來我不得不重新開始,並開始逐個將內容移動到新的佈局。 – HarryHippo

回答

0

試圖加入weightSum父的LinearLayout,就像這樣:

<LinearLayout 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:weightSum="2"> 

    <!-- Top half --> 
    <LinearLayout 
     android:layout_weight="1" 
     android:layout_height="0dp" 
     android:layout_width="match_parent" 
     android:orientation="vertical"> 

     ... stuff and things ... 

    </LinearLayout> 

    <!-- Bottom half --> 
    <LinearLayout 
     android:layout_weight="1" 
     android:layout_height="0dp" 
     android:layout_width="match_parent" 
     android:orientation="vertical"> 

     ... things and stuff ... 

    </LinearLayout> 

</LinearLayout> 

另外,我改變了孩子們的layout_height:您將不再需要爲孩子LinearLayouts FILL_PARENT因爲家長有這個屬性了。