2012-10-16 106 views
0

我有一個線性佈局(垂直方向),其中包含兩個嵌套的線性佈局。線性佈局內嵌套佈局(垂直) - 確保最後一個嵌套佈局顯示其內容

  • 第一個線性佈局具有根據特定活動的上下文動態應用的背景圖像。圖像幾乎佔據了整個屏幕的大小
  • 第二個線性佈局包含兩個應該顯示在活動底部的複選框(水平方向)。

我的問題是,如何可以確保第二線性佈局顯示在屏幕的底部,只是示出了它需要,允許第一線性佈局來顯示多達其背景的最小量儘可能的圖像?目前它正在被第一張LL的bg圖像推出屏幕。

謝謝。

回答

1

使用權,你可以做你想做的:在加權佈局

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="horizontal" 
     android:background="#FF0000" 
     android:layout_weight="1" 
     > 



    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal" 
     android:background="#00FF00" 
     android:layout_weight="1" 
     > 
     <CheckBox 
      android:id="@+id/checkBox1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="CheckBox" /> 
     <CheckBox 
      android:id="@+id/checkBox2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="CheckBox" /> 
    </LinearLayout> 

</LinearLayout> 
0
<LinearLayout 
    ... > 
    <LinearLayout 
     ... 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     > 
     ... 
    </LinearLayout> 
    <LinearLayout 
     ... 
     android:layout_height="wrap_content" 
     > 
     ... 
    </LinearLayout> 
</LinearLayout> 

通知,高度設置爲「0dp」。只有一個權重,加權的一個將延伸到適合剩餘的可用區域。

1

您可以使用的RelativeLayout作爲外佈局而不是的LinearLayout

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/mainLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

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

    <LinearLayout 
     android:id="@+id/topLayout" 
     android:layout_above="@id/bottomLayout" 
     android:layout_centerHorizontal="true" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"> 
     ... 
    </LinearLayout> 

</RelativeLayout>