Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


(Android) ScrollView no se desplazará todo el camino hasta la parte inferior de mi LinearLayout

Así que tengo un ScrollView con un LinearLayout dentro de él. Parece que cuando intento desplazarme a la parte inferior de mi linearlayout, el dip inferior ~ 5 es cortado (es decir, el margen inferior) Creo que podría tener algo que ver con el margen 5dip de mi linearlayout?

Aquí está activity_create_account.xml :

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="top" android:background="@drawable/grey" android:orientation="vertical" android:padding="0dp" tools:context=".Login" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:weightSum="100" android:orientation="vertical"> <!-- BEGIN HEADER --> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:background="@drawable/titlebar" android:orientation="horizontal" android:padding="8dip" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:padding="0dp" android:text="create account" android:textColor="#FFFFFF" android:textSize="32sp" android:textStyle="bold" android:typeface="sans" /> </LinearLayout> <!-- END HEADER --> <!-- BEGIN BODY --> <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="top" android:orientation="vertical"> <LinearLayout android:id="@+id/innerLinearLayout" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="10dip" android:background="@drawable/rounded_white" android:orientation="vertical" android:padding="5dip" > <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textEmailAddress" android:ems="10" android:id="@+id/etCreateEmail" android:hint="Email" android:layout_weight="1" android:paddingTop="8dip" android:paddingBottom="8dip" android:paddingRight="8dip" android:paddingLeft="8dip" android:layout_marginBottom="4dip" android:layout_marginTop="5dip"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textEmailAddress" android:ems="10" android:id="@+id/etCreateEmail" android:hint="Email" android:layout_weight="1" android:paddingTop="8dip" android:paddingBottom="8dip" android:paddingRight="8dip" android:paddingLeft="8dip" android:layout_marginBottom="4dip" android:layout_marginTop="5dip"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textEmailAddress" android:ems="10" android:id="@+id/etCreateEmail" android:hint="Email" android:layout_weight="1" android:paddingTop="8dip" android:paddingBottom="8dip" android:paddingRight="8dip" android:paddingLeft="8dip" android:layout_marginBottom="4dip" android:layout_marginTop="5dip"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textEmailAddress" android:ems="10" android:id="@+id/etCreateEmail" android:hint="Email" android:layout_weight="1" android:paddingTop="8dip" android:paddingBottom="8dip" android:paddingRight="8dip" android:paddingLeft="8dip" android:layout_marginBottom="4dip" android:layout_marginTop="5dip"/> <EditText android:id="@+id/etChooseUsername" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="4dip" android:layout_weight="1" android:ems="10" android:hint="Choose a username" android:inputType="text" android:paddingBottom="8dip" android:paddingLeft="8dip" android:paddingRight="8dip" android:paddingTop="8dip" /> <EditText android:id="@+id/etChoosePassword" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="4dip" android:layout_weight="1" android:ems="10" android:hint="Choose a password" android:inputType="textPassword" android:paddingBottom="8dip" android:paddingLeft="8dip" android:paddingRight="8dip" android:paddingTop="8dip" /> <EditText android:id="@+id/etRetypePassword" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginBottom="4dip" android:layout_weight="1" android:ems="10" android:hint="Re-type password" android:inputType="textPassword" android:paddingBottom="8dip" android:paddingLeft="8dip" android:paddingRight="8dip" android:paddingTop="8dip" /> <Button android:id="@+id/bCreateAccountConfirm" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_weight="1" android:background="@drawable/button_selector" android:padding="0dip" android:text="Create Account" android:textColor="#ffffff" android:textStyle="bold" android:typeface="sans" /> </LinearLayout> </ScrollView> <!-- END BODY --> 

Esto es lo que parece cuando intento desplazarse por todo el camino hacia abajo (se supone que es una delgada sección de blanco debajo del botón y luego una delgada sección de margen gris) Introduzca aquí la descripción de la imagen

3 Solutions collect form web for “(Android) ScrollView no se desplazará todo el camino hasta la parte inferior de mi LinearLayout”

En su ScrollView agregue padding_bottom a algunos 10dp. Funcionaría.

De lo contrario, la vista que permanezca por debajo de HorizontalView podría superponerse por encima de esta vista horizontal. En ese caso

  1. Agregar un identificador a HorizontalView id="@+id/horizontalView"
  2. Añada below="@+id/horizontalView" en la vista debajo de la vista horizontal.

Me doy cuenta de que esta pregunta es un poco vieja – pero por el bien de aquellos que van a encontrar esto a través de Google voy a tratar de arrojar algo de luz.

Parece como si el objeto ScrollView genérico no juega bien cuando se utiliza dentro de un diseño con otros hermanos. Así, Google ha creado un NestedScrollView . De la documentación,

NestedScrollView es igual que ScrollView, pero admite actuar como un padre y un hijo de desplazamiento anidados tanto en las versiones nuevas como en las antiguas de Android.

Tuve un problema similar al que plantea esta pregunta y el uso de NestedScrollView eliminó el corte en la parte inferior de mi ScrollView original.

Puede establecer marginBottom en su vista de desplazamiento

 <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="top" android:layout_marginBottom="10dp" android:orientation="vertical"> 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.