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


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

  • La vista no puede anclarse en el parámetro CoordinatorLayout principal
  • Mejores prácticas de tamaño de imagen para aplicaciones móviles
  • Bug in Android Geofence Código de ejemplo? ¿Puede alguien confirmar?
  • Animación de Android: ¿Esperar hasta que termine?
  • ¿Cómo se utilizan los valores de android.graphics.Matrix?
  • ¿Cómo enviar eventos clave a un emulador sin cabeza en una prueba de instrumentación?
  • 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> 

  • Android: al cambiar entre dos actividades, el orden de llamada de los métodos de ciclo de vida de la actividad
  • Android calcula el bbox derecho para WMS getFeatureInfo
  • ¿Cómo leer / enviar datos con el dispositivo Android 3.5mm jack auriculares?
  • Uso de muPDF con efecto curl / flip
  • Eliminar el relleno alrededor de la barra de acción izquierda icono en Android 4.0+
  • ¿Cómo funciona? RequestLocationUpdates () + LocationRequest / Listener
  • 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

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.