2017-08-09 83 views
0

我在RelativeLayout的內部有一個RelativeLayout和5 LinearLayout s。一個LinearLayout代表一排按鈕,每個按鈕都有4個按鈕,每個按鈕都有定義的寬度和高度。在LinearLayouts周圍環繞RelativeLayout

我的問題是,當我設置的RelativeLayout的高度wrap_content它不換行的LinearLayout的行,而不是它就像fill_parent。它有趣的是,它的工作原理設置的RelativeLayout的寬度wrap_content而不是高度。

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <LinearLayout 
     android:id="@+id/fifthRow" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/forthRow" 
     android:layout_centerHorizontal="true"> 

     <Button 
      android:id="@+id/bChangeBase" 
      android:layout_width="85dp" 
      android:layout_height="85dp" 
      android:background="@drawable/bnb" 
      android:onClick="onClickBaseChange" /> 

     <!--- three more buttons --->    

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/firstRow" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true"> 

     <Button 
      android:id="@+id/bP" 
      android:layout_width="85dp" 
      android:layout_height="85dp" 
      android:background="@drawable/bp" /> 

     <!--- three more buttons ---> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/thirdRow" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/secondRow" 
     android:layout_centerHorizontal="true"> 

     <Button 
      android:id="@+id/b4" 
      android:layout_width="85dp" 
      android:layout_height="85dp" 
      android:background="@drawable/b4" 
      android:onClick="onClickB4" /> 

     <!--- three more buttons ---> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/forthRow" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/thirdRow" 
     android:layout_centerHorizontal="true"> 

     <Button 
      android:id="@+id/b7" 
      android:layout_width="85dp" 
      android:layout_height="85dp" 
      android:background="@drawable/b7" 
      android:onClick="onClickB7" /> 

     <!--- three more buttons ---> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/secondRow" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@+id/firstRow" 
     android:layout_centerHorizontal="true"> 

     <Button 
      android:id="@+id/b1" 
      android:layout_width="85dp" 
      android:layout_height="85dp" 
      android:background="@drawable/b1" 
      android:onClick="onClickB1" /> 

     <!--- three more buttons ---> 

    </LinearLayout> 

</RelativeLayout> 
+0

你有沒有考慮過使用GridLayout或表? – CzarMatt

回答

0

您有衝突的佈局屬性。您的firstRowandroid:layout_alignParentBottom="true",與wrap_content一起使用時會導致問題。每個財產都試圖依靠另一個來確定視圖的底部應該放在哪裏。

更多細節在這裏接受的答案:RelativeLayout is taking fullscreen for wrap_content

你有沒有考慮過使用GridLayout