¿Cómo se hace que un LinearLayout sea desplazable?
Tengo muchos elementos en la pantalla y necesito usar la barra de desplazamiento para que el usuario pueda desplazarse hacia abajo. Sin embargo, el desplazamiento no es visible o no funciona. ¿ Cómo es posible agregar una barra de desplazamiento a un LinearLayout
?
Envuelva el diseño lineal con un<ScrollView>
Vea aquí un ejemplo:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- Content here -->
</LinearLayout>
</ScrollView>
</LinearLayout>
Nota: fill_parent está obsoleto y se le ha cambiado el nombre a match_parent en API nivel 8 y superior.
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/container"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</LinearLayout>
</ScrollView>
Necesita ajustar su diseño lineal con una vista de desplazamiento
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
</ScrollView>
Esto se puede hacer usando la etiqueta <ScrollView>
. Para ScrollView , una cosa que debes recordar es que ScrollView debe tener un solo hijo .
Si desea que se pueda desplazar el diseño completo, agréguelo <ScrollView>
en la parte superior. Consulte el ejemplo que se proporciona a continuación.
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scroll"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- Content here -->
</LinearLayout>
</ScrollView>
Pero si desea que alguna parte de su diseño sea desplazable, agréguela <ScrollView>
dentro de esa parte. Consulte el ejemplo que se proporciona a continuación.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="400dp">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- Content here -->
</LinearLayout>
</ScrollView>
</LinearLayout>