2012-09-14 15 views
9

Ho il seguente schema XML:Questo LinearLayout dovrebbe usare android: layout_height = "wrap_content"?

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:fillViewport="true" > 

    <LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" // ==> here I get the error. 
    android:orientation="vertical" > 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Test" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:layout_marginLeft="10dp" 
     android:layout_marginTop="5dp" /> 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="2dip" 
     android:background="#298EB5" 
     android:orientation="horizontal" /> 


    </LinearLayout> 
</ScrollView> 

Ma ottengo il messaggio lint:

Questo LinearLayout dovrebbe utilizzare Android: layout_height = "wrap_content"

Perché ottengo questo messaggio?

risposta

10

LinearLayout 's sono progettati per impilare elementi uno di fianco all'altro o uno sopra l'altro. La mia ipotesi è che questo avvertimento non lasci residui raccomanda impilamento virtical a causa delle ScrollView

Documentation:

"Tutti i figli di un LinearLayout sono impilati uno dopo l'altro, quindi un elenco verticale avrà solo un bambino per riga , non importa quanto siano ampi, e una lista orizzontale sarà alta solo una riga (l'altezza del figlio più alto, più il padding). Un LinearLayout rispetta i margini tra i bambini e la gravità (allineamento a destra, al centro o a sinistra) di ciascun bambino."

+3

grazie per la formattazione. –

3

suo avvertimento Lint si dovrebbe usare

android:layout_height="wrap_content" 

wrap_content occupa l'altezza secondo l'add richiedono contenuti. Qui l'altezza dell'involucro di layout in base alle esigenze

4

Non si tratta di un errore, ma non è suggerito in quanto produrrà risultati indesiderati in alcuni casi. Seguo questo article da Romain mentre utilizzo scrollview. Spero che questo spiegherà il motivo del messaggio.

Problemi correlati