Añadir scroll a Actividades muy largas en Android
Cuando estamos creando interfaces gráficas en Android y la actividad en donde tenemos dicha interfaz es demasiado larga, Android no pone por defecto un scroll que permita navegar entre dicha interfaz. Para hacerlo, podemos usar la clase ScrollView:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Un formulario muy largo" android:textSize="20dp" android:textColor="#ED0034" /> <!-- inicia el ScrollView --> <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent"> <!-- se colocal el LinearLayout que contendra el formulario --> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:text="Nombre" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:text="Apellido" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:text="Dirección" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:text="Teléfono" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:text="e-mail" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:text="twiter" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:text="País" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:text="Ciudad" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout> </ScrollView> </LinearLayout>
Es importante tener en cuenta que dentro de un componente de tipo ScrollView se debe poner UN, y SOLAMENTE UN, componente, en este caso un LinearLayout. Además, solo soporta scroll vertical. El resultado es algo como esto:

En este caso he dejado un TextView por fuera del scroll de tal manera que aparezca siempre… pero por supuesto podemos hacer que el scroll ocupe toda la pantalla.
Descargar código fuente ejemplo
10 Comentarios | deja el tuyo




En esta entrada vamos a introducirnos en el desarrollo de interfaces gráficas para Android. Haremos un sencillo ejemplo paso a paso en donde la idea es que comprenda la filosofía con la que se trabaja al usar widgets y actividades. El resultado será una aplicación sencilla que pide una cadena de texto al usuario y la invierte. Es importante que ya tengas configurado el SDK y el Eclipse como se explica en
Esta pequeña entrada servirá como base para las siguientes, en las que iré poniendo mis experiencias con 