tamaño studio linearlayout layout_weight horizontal caracteristicas android android-linearlayout

android - studio - ¿Cómo se hace un deslizable LinearLayout?



linearlayout tamaño (8)

Así es como lo hice por ensayo y error.

ScrollView - (la envoltura exterior).

LinearLayout (child-1). LinearLayout (child-1a). LinearLayout (child-1b

Como Scrollview solo puede tener un hijo, ese niño es un diseño lineal. Luego, todos los otros tipos de diseño aparecen en el primer diseño lineal. No he intentado incluir un diseño relativo todavía, pero me vuelven loco, así que esperaré hasta que vuelva mi cordura.

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í para 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>


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 su diseño completo sea desplazable, agregue <ScrollView> en la parte superior. Verifique el ejemplo dado abajo.

<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 parte de su diseño sea desplazable, agregue <ScrollView> dentro de esa parte. Verifique el ejemplo dado abajo.

<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>


Puedes agregar un atributo en linearLayout: android:scrollbars="vertical"


necesitas usar el siguiente atributo y encerrarlo dentro del diseño lineal

<LinearLayout ...> <scrollView ...> </scrollView> </LinearLayout>


ScrollView colocar ScrollView como el primer elemento secundario del archivo de diseño y ahora coloque su linearlayout en su interior. Ahora, Android decidirá sobre la base del contenido y el tamaño del dispositivo disponible, ya sea para mostrar un objeto desplazable o no.

Asegúrese de que linearlayout no tenga hermanos porque ScrollView no puede tener más de un hijo.


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"`enter code here`> <---------Content Here ---------------> </LinearLayout> </ScrollView> </LinearLayout>


<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>