LinearLayout – verticalmente no alinear

Tengo un problema con LinearLayout en Android. Tengo cuatro botones. Cada botón tiene un tamaño fijo, pero el texto puede variar en longitud.

Mi problema es que no están alineados con la parte superior de cada uno. Se ve que se alinean con la parte superior del texto dentro de cada botton que cambian dependiendo del número de línea que hay dentro del botón (Ver foto).

Además, quiero seguir usando LinearLayout como eventualmente utilizará código agregará botones basados ​​en datos de una base de datos.

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:text="Line1 Line2" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button> <Button android:text="Line1 Line2 Line3" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button> <Button android:text="Line1" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button> <Button android:text="Line1" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button> </LinearLayout> </LinearLayout> 

Http://i.imgur.com/0Kj8h.png

EDIT: RESPUESTA (No puedo contestar mi propia pregunta):

Ok, acabo de encontrar la respuesta por mí mismo. Tienes que añadir android: baselineAligned = "false" a LinearLayout o cualquier otro control similar que pueda mostrar el mismo comportamiento.

También puede solucionar esto en el diseñador de interfaz de usuario mediante el botón denominado "Alternar alineación de línea de base".

Así que el código resultante es:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:baselineAligned="false" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:text="Line1 Line2" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button> <Button android:text="Line1 Line2 Line3" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button> <Button android:text="Line1" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button> <Button android:text="Line1" android:textSize="30dp" android:layout_width="160dp" android:layout_height="120dp"></Button> </LinearLayout> </LinearLayout> 

3 Solutions collect form web for “LinearLayout – verticalmente no alinear”

Su mejor utilizar RelativeLayout para tal tipo de alineación, como el concepto de RelativeLayout dice que él "referencia" de un control

Bueno, su segundo diseño lineal es lo que está creando el problema que supongo que para u, sólo eliminar que

Puede utilizar TableLayout en lugar de su segundo LinearLayout.And agregar un TableRow dentro de TableLayout y en la fila agregar cuatro botones

  • Ajuste del radio del botón mediante programación en android
  • Tamaño de fuente del botón de programación de Android en píxeles
  • ¿Cómo agregar el botón de radio dinámicamente según el número dado de cuentas?
  • No se puede capturar el evento del botón Volver de Android
  • ¿Cómo manejar el botón Atrás en el diálogo?
  • Habilitar y deshabilitar el botón según el texto de EditText en Android
  • Cerrar la aplicación al pulsar el botón de nuevo en android
  • Brillante texto en el botón con fondo transparente en la disposición con otro fondo
  • Cómo crear un botón Atrás en el diseño del material
  • ¿Pasar un argumento al llamar a setOnClickListener?
  • Cómo hacer que el botón transparente en mi aplicación sea visible
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.