Domanda

Ho avuto una serie di problemi con ScrollViews. Recentemente ho cercato di creare un LinearView cui contenuto supera le dimensioni dello schermo così ho creato il nuovo layout con elemento padre ScrollView e impostarne la larghezza e l'altezza di valori personalizzati (il layout deve apparire come finestra di dialogo - non riempire l'intero schermo).

Quando l'elemento viene selezionato il bordo rosso sembra abbracciare il rettangolo di predefinito ScrollView LayoutWidth e LayoutHeight che è OK. Poi ho messo dentro il LinearView e impostare i valori LayoutWidth e LayoutHeight a fill_parent.

Poi, quando ho iniziato a aggiungere gli elementi in LinearLayout confine (Lile rosso) avvolto gli elementi inseriti, non l'intero genitore ScrollView.

Così, quando il contenuto della LinearLayout (figlio di ScrollView) ha superato la dimensione del genitore ScrollView il rotolo non appariva e gli elementi di fondo sono semplicemente invisibile.

In ogni caso .. in quel caso il contenuto XML è troppo estesa per inviare la domanda qui e ora sto avendo lo stesso problema con l'esempio più semplice.

La seguente parte del layout è destinato ad essere un EditText scorrevole (nel caso l'input dell'utente supera la dimensione principale del widget). Ho voluto impostare l'altezza EditText a 120px, così mi sono messo l'altezza genitore ScrollView a 120px e il bambino EditText a fill_parent. Anche in questo caso l'EditText non riempie l'intera area ScrollView ma una sola riga:

 <ScrollView android:layout_height="120px" android:layout_width="fill_parent">
<EditText android:id="@+id/txtContent" android:layout_height="fill_parent" android:layout_width="fill_parent" android:text="TestContent">
</EditText>
</ScrollView>

Qualcuno sa come rimodellare il contenuto di cui sopra in modo che l'EditText riempie il controllo padre e nel caso in cui l'input dell'utente supera la dimensione di controllo appare la pergamena?

Grazie!

Modifica

Di seguito sono elencate le schermate del layout

Rimosso link morto ImageShack
rimosso collegamento ImageShack morti

È stato utile?

Soluzione

L'EditText dovrebbe avere un'altezza di wrap_content. fill_parent non ha alcun significato in un ScrollView. Se si desidera che il EditText per riempire il vostro ScrollView quando il suo contenuto è più piccolo del ScrollView, utilizzare android:fillViewport="true" sulla ScrollView.

Altri suggerimenti

Sì, come ha detto Romain, esigenze ScrollView seguenti combo.

  1. per ScrollView android:fillViewport="true"
  2. per il bambino di ScrollView android:layout_height="wrap_content"
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top