Android: Emisión ScrollView
-
19-09-2019 - |
Pregunta
He tenido una serie de problemas con ScrollViews. Recientemente he intentado crear un LinearView cuyo contenido excede el tamaño de la pantalla así que creé con el nuevo diseño elemento padre ScrollView y establecer su anchura y la altura de los valores personalizados (el diseño tiene que aparecer como de diálogo - no llenar toda la pantalla).
Cuando el elemento se selecciona el borde rojo parece abrazar el rectángulo de predefinido ScrollView LayoutWidth y LayoutHeight lo cual está bien. Entonces coloqué dentro del LinearView y establecer los valores LayoutWidth y LayoutHeight a fill_parent.
A continuación, cuando empecé a añadir los elementos en el LinearLayout la frontera (lile rojo) envueltos los elementos insertados, no toda la matriz ScrollView.
Así que cuando el contenido de la LinearLayout (hijo de ScrollView) supera el tamaño de la matriz ScrollView el rollo no apareció y los elementos inferiores son simplemente invisibles.
De todos modos .. en ese caso el contenido XML era demasiado extensa para publicar la pregunta aquí y ahora estoy teniendo el mismo problema con el más sencillo ejemplo.
La siguiente parte de la disposición está destinada a ser un EditarTexto desplazable (en caso de la entrada del usuario supera el tamaño primario del widget). Quería establecer la altura EditarTexto a 120px, así que me puse la altura ScrollView padres a 120px y el niño EditarTexto a fill_parent. De nuevo en este caso el EditarTexto no llena toda la zona ScrollView sino una sola línea:
<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>
¿Alguien sabe cómo modificar el contenido por encima de lo que el EditarTexto llena el control de los padres y en caso de entrada del usuario supera el tamaño de control aparece el rollo?
Gracias!
Editar
A continuación se presentan las capturas de pantalla del diseño
eliminado enlace ImageShack muertos
eliminado enlace ImageShack muertos
Solución
Su EditarTexto debe tener una altura de wrap_content
. fill_parent
no tiene sentido en un ScrollView
. Si desea que el EditText
para llenar su ScrollView
cuando su contenido es menor que el ScrollView
, utilice android:fillViewport="true"
en el ScrollView
.
Otros consejos
Sí, como dijo Romain, necesidades ScrollView siguientes combo.
- para ScrollView
android:fillViewport="true"
- disponible para niños ScrollView
android:layout_height="wrap_content"