2012-01-14 21 views
5

Sto cercando di creare una vista Android, con un listview come intestazione e piè di pagina. finora gestito solo che appare solo nell'intestazione. Ecco un'immagine che spiega quello che voglio e quello che ho.listview con intestazione e piè di pagina

Attempt

Qualcuno sa che cosa sto facendo male? Asciugare il codice corrente:

<?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

Si deve usare RelativeLayout per questo, e quindi l'ancoraggio l'intestazione/piè di pagina per i genitori bordi. per esempio. 'android: layout_alignParentTop' – Glitch

risposta

3

Un'opzione è utilizzare invece un RelativeLayout.

In primo luogo è necessario modificare il più esterno LinearLayout a RelativeLayout.

Il passaggio successivo consiste nell'aggiungere la proprietà android:layout_above="@id/content" all'intestazione.

<!-- 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"> 

Il passo finale è quello di aggiungere le proprietà android:layout_above="@id/footer" e android:id="@+id/content" al LinearLayout che contiene i contenuti e la listview cioè

<!-- 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

. grazie mille –

+0

Nessun problema, prego! – silleknarf

0

Gli articoli sono aggiunti al LinearLayout in ordine, in modo che quando il ListView riempie genitore occupa tutto lo spazio. Vorrei provare a impostare il peso_spedizione di ListView su 1.

+0

thx per rispondere. Ho messo il peso di layout su 1 e il risultato è lo stesso –

0

Nel secondo layout radice impostare l'altezza wrap_content o altro che non fill_parent . Se Yuo desidera impostare wrap_content impostare android:weight1.0 o semplice 1

Problemi correlati