La vista de desplazamiento de Android es demasiado larga
Soy super nuevo para Android –
He caído en un scrollview en mi pantalla y estoy poniendo un poco de texto dentro de él. Estoy haciendo esto porque en algunos teléfonos el texto se escapa de la pantalla.
- Jsoup no puede leer el archivo de retorno xml
- Cómo hacer referencia a programación <string> en archivo xml en android
- Crear una DialogPreference desde XML
- Error al crear un proyecto de Android con Maven
- Cómo configurar el fondo de un TextView dinámicamente desde un archivo Xml
El problema que tengo es que el scrollview que he dejado caer en la página es más largo que el contenido que contiene: cuanto más estrecha es la pantalla del teléfono, más largo es el scrollview.
<?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="wrap_content" android:fillViewport="true" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/app_background" android:orientation="vertical" android:padding="10dp" > <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="20" android:inputType="textMultiLine" android:lineSpacingExtra="3dp" android:text="Get ready to melt fat and burn calories with Fit Body Boot Camp's 14 Day Fat Furnace Workout Program! This is a detailed 14 Day Workout plan based on Fit Body Boot Camp's Unstoppable Fitness Formula that has been implemented in close to 300 boot camps worldwide by hundreds of thousands of clients who made the decision to lose weight and get healthier." android:textColor="#FFF" android:textColorLink="#FFF" android:textSize="20sp" > </EditText>
Hay algunos más edittexts después de éste, pero ésta es la esencia de ella. Déjame saber si ves algo estúpido.
- Android: incluye un xml en otro xml
- ¿Cómo puedo eliminar el fondo blanco de una vista web?
- Deshabilitar elementos de vista de lista con selector y isEnabled ()
- No se permite el atributo de manifiesto de Android aquí
- XML Spinner atributos textAlignment = "derecho" API 16
- Logo de ActionBar mover hacia la izquierda
- ¿Cómo puedo añadir una línea blanca 1px horizontal debajo del botón en un diseño relativo?
- Visualización de la variable en pantalla usando Android por TextViews
Su fondo está en el diseño lineal que está en ScrollView. Si coloca la vista de desplazamiento en otra disposición lineal que es la matriz de ScrollView y contiene el fondo y elimina el fondo del diseño Lineal que es un niño a la Vista de desplazamiento, se solucionará el problema.
Se verá así:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@drawable/app_background" > <ScrollView android:layout_width="fill_parent" android:layout_height="wrap_content" android:fillViewport="true" > <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:padding="10dp" > <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="20" android:inputType="textMultiLine" android:lineSpacingExtra="3dp" android:text="THE LONG TEXT YOU'VE TYPED" android:textColor="#FFF" android:textColorLink="#FFF" android:textSize="20sp" > </EditText> </LinearLayout> </ScrollView> </LinearLayout>
Creo que scrollview debe llenar el padre, y los niños las vistas de envolver el contenido, ya que layout_height es el tamaño que la vista tendrá en realidad en la pantalla, la cosa de desplazamiento sucede dentro de la vista
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" //... android:layout_height="fill_parent" //... >
EDITAR
Como lo señaló dbalaouras mejor utilizar "match_parent" en lugar de "fill_parent", ya que el último es obsoleto. El resultado es el mismo, sólo el nombre se ha cambiado sólo porque "llenar" era confuso, si se establece que no llenará el espacio restante, sino que sólo establecer la dimensión de acuerdo a su padre