2012-09-05 52 views
1

我有一個XML版式文件看起來像這樣的Android layout_height不WRAP_CONTENT

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 
    <RelativeLayout 
     android:id="@+id/toppane" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_alignParentTop="true" > 
    </RelativeLayout> 
    <RelativeLayout 
     android:id="@+id/bottompane" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true"> 
     <Button 
      android:id="@+id/genericbutton" 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:layout_alignParentBottom="true" /> 
     <Button 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:layout_above="@id/genericbutton" /> 
     <Button 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:layout_toRightOf="@id/genericbutton" 
      android:layout_alignTop="@id/genericbutton" /> 
    </RelativeLayout> 
</RelativeLayout> 

我想bottompane來包裝其在寬度和高度的內容。

WRAP_CONTENT在bottompane適用於寬度(總共100dp的),但WRAP_CONTENT似乎並不爲工作高度。 bottompane獲得父級的高度,從而使toppane甚至不可見。

這是怎麼發生的?我錯過了什麼或做錯了什麼?

編輯:圖片很快就會來臨。我想要實現的是底部面板,其高度僅包裹其內容。所以不要高於兩個按鈕(100dp),並且頂部填充底部窗格上方的其餘空間,直到它與父窗口頂部對齊爲止。

EDIT2:image http://img405.imageshack.us/img405/9871/wrapcontent.png 雖然高度設置爲wrap_content,但藍線是佈局。紅線是它應該是(只是包裝的內容)。綠色的線是如何鋪設的toppane(堅持在底部的頂部)

+0

你想實現什麼添加圖片請 –

+0

圖片和問題解釋添加 – stealthjong

回答

0

只需更換您的buttons位置關係與此

<Button 
      android:id="@+id/firstButton" 
      android:layout_width="50dp" 
      android:layout_height="50dp"/> 

     <Button 
      android:id="@+id/genericbutton" 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:layout_below="@+id/firstButton" /> 

     <Button 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:layout_below="@+id/firstButton" 
      android:layout_toRightOf="@id/genericbutton" /> 
0

你不能有一個與alignParenBottom和wrap_content在一個RelativeLayout的孩子。 解釋是here

一個可能的解決方案是巢LinearLayouts

<RelativeLayout 
    android:id="@+id/toppane" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_above="@+id/bottompane" 
    android:layout_alignParentTop="true" > 
</RelativeLayout> 

<LinearLayout 
    android:id="@+id/bottompane" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:orientation="vertical" > 

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

     <Button 
      android:layout_width="50dp" 
      android:layout_height="50dp" /> 
    </LinearLayout> 

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

     <Button 
      android:layout_width="50dp" 
      android:layout_height="50dp" /> 

     <Button 
      android:layout_width="50dp" 
      android:layout_height="50dp" /> 
    </LinearLayout> 
</LinearLayout> 

0

嘗試替換你的父母相對佈局與垂直線性佈局。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 
    <RelativeLayout 
     android:id="@+id/toppane" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_alignParentTop="true" > 
    </RelativeLayout> 
    <RelativeLayout 
     android:id="@+id/bottompane" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true"> 
     <Button 
      android:id="@+id/genericbutton" 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:layout_alignParentBottom="true" /> 
     <Button 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:layout_above="@id/genericbutton" /> 
     <Button 
      android:layout_width="50dp" 
      android:layout_height="50dp" 
      android:layout_toRightOf="@id/genericbutton" 
      android:layout_alignTop="@id/genericbutton" /> 
    </RelativeLayout> 
</LinearLayout> 
相關問題