studio sirve que para linearlayout layout_weight horizontal gridlayout ejemplo columns caracteristicas android layout

android - layout_weight - linearlayout para que sirve



Android: ¿Cómo hacer que todos los elementos dentro de LinearLayout tengan el mismo tamaño? (4)

Me gustaría crear un diálogo para mostrar un título de video y etiquetas. Debajo del texto me gustaría agregar botones Ver, Editar y Eliminar y hacer que estos elementos tengan el mismo tamaño. ¿Alguien sabe cómo modificar el archivo de diseño .xml para hacer que los elementos dentro de LinearView tengan el mismo tamaño?

El archivo de diseño actual se ve así:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtTitle" android:text="[Title]" > </TextView> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtTags" android:text="[Tags]" > </TextView> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnPlay" android:text="View"> </Button> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnEdit" android:text="Edit"> </Button> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnDelete" android:text="Delete"> </Button> </LinearLayout> </LinearLayout>

Agradecería que alguien pudiera mostrar la solución modificando el contenido del archivo pegado.

¡Gracias!


Escribí un EqualSpaceLayout que creo que resolverá tu problema. Esto es similar al LinearLayout, pero no distorsiona el tamaño de las vistas secundarias. Compruébelo: http://www.dev-smart.com/archives/225


Otra forma es hacer android:layout_width="fill_parent" y android:layout_weight="1" esto también funcionará bien!


Usa LinearLayout con tu weightSum y crea elementos con igual layout_weight . Aquí hay un ejemplo ...

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:weightSum="5"> <ImageView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/ic_share_white_36dp"/> <ImageView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/ic_search_white_36dp"/> <ImageView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/ic_event_note_white_36dp"/> <ImageView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/ic_brush_white_36dp"/> <ImageView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/ic_menu_white_36dp"/> </LinearLayout>

Entonces, la suma de peso de todos los elementos es 5. Aquí está la captura de pantalla ...

Tenga en cuenta que se utilizan iconos de Google Material Design . Espero que esto sea útil.


Use android:layout_width="0px" y android:layout_weight="1" en los tres Button s. Eso dice que los botones no deberían ocupar más de 0 píxeles, pero los tres deberían dividir cualquier espacio extra entre ellos. Eso debería darte el efecto visual que deseas.