2012-01-14 189 views
5

我想建立一個Android視圖,列表視圖作爲頁眉和頁腳。到目前爲止只有管理的那個只出現在頭部。 這張照片解釋了我想要的和我所擁有的。listview與頁眉和頁腳

Attempt

有誰知道我做錯了嗎? 幹當前代碼:

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

<!-- Header Starts--> 
<LinearLayout android:id="@+id/header" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="@layout/header_gradient" 
     android:layout_margin="5dip" 
     android:paddingTop="13dip" 
     android:paddingBottom="8dip"> 
    <!-- Logo Start--> 
    <ImageView android:src="@drawable/logo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dip" /> 
    <!-- Logo Ends --> 
</LinearLayout> 
<!-- Header Ends --> 

<!-- Content --> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_height="fill_parent" 
       android:layout_width="fill_parent" 
       android:orientation="vertical" 
       android:gravity="center"> 

     <LinearLayout android:orientation="horizontal" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:layout_margin="5dip"> 

      <EditText android:id="@+id/searchText" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:layout_weight="1"/> 

      <ImageButton android:id="@+id/searchButton" 
        android:layout_height="wrap_content" 
        android:layout_width="wrap_content" 
        android:src="@android:drawable/ic_menu_search" /> 
     </LinearLayout> 

     <ListView android:id="@+id/lstNews" 
       android:layout_height="fill_parent" 
       android:layout_width="fill_parent" 
       android:layout_marginLeft="5dip" 
       android:layout_marginRight="5dip" /> 
    </LinearLayout> 

<!-- Footer Start --> 
<LinearLayout android:id="@+id/footer" 
    android:layout_width="fill_parent" 
    android:layout_height="30dip" 
    android:background="@layout/footer_gradient" 
    android:layout_margin="5dip" 
    android:paddingTop="5dip" 
    android:paddingLeft="5dip" 
    android:layout_alignParentBottom="true"> 
    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:text="Instituto Superior de " /> 
    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:textStyle="bold" android:text="Engenharia" /> 
    <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#FFFFFF" android:text=" do Porto" /> 
</LinearLayout> 
<!-- Footer Ends --></LinearLayout> 
+1

您應該使用RelativeLayout的這個,然後固定在頁眉/頁腳父母邊緣。例如'android:layout_alignParentTop' – Glitch 2012-01-14 15:39:14

回答

3

一種選擇是使用RelativeLayout來代替。

首先,您需要將最外層的LinearLayout更改爲RelativeLayout

下一步是將屬性android:layout_above="@id/content"添加到標題。

<!-- Header Starts--> 
<LinearLayout android:id="@+id/header" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:background="@layout/header_gradient" 
    android:layout_margin="5dip" 
    android:paddingTop="13dip" 
    android:paddingBottom="8dip" 
    android:layout_above="@id/content"> 

的最後一步是將性能android:layout_above="@id/footer"android:id="@+id/content"添加到包含的內容和列表視圖即

<!-- Content --> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/content" 
      android:layout_height="fill_parent" 
      android:layout_width="fill_parent" 
      android:orientation="vertical" 
      android:gravity="center" 
      android:layout_above="@id/footer"> 
+1

就是這樣。 thx非常多 – 2012-01-14 15:58:24

+0

沒問題,不客氣! – silleknarf 2012-01-14 16:21:44

0

項目添加到的LinearLayout才能,所以當ListView的填充母它佔用了所有的空間。我想嘗試將ListView的layout_weight設置爲1.

+0

thx for respond。 我把layout_weight設置爲1,結果是相同的 – 2012-01-14 15:37:38

0

在第二根佈局設置高度wrap_content或其他任何東西,但不是fill_parent的的LinearLayout 。 如果宥要設置wrap_content設置android:weight1.0或簡單1