Combinando wrap_content en el padre y fill_parent en el niño

El establecimiento de dos o más elementos de un diseño lineal de la misma altura parece ser un gran problema.

Quiero establecer cuatro botones en una fila a la misma altura.

Android: layout_height = "wrap_content" lo hace por el momento, pero cuando el texto de uno de los botones es más largo que una línea este botón se incrementa y por lo tanto más grande que los otros. Debido a diferentes localizaciones no sé, cuándo y qué botón puede tener una segunda línea.

Así que mi idea es, para establecer el parent linearlayout a android: layout_height = "wrap_content" y all (!) Child alturas a android: layout_height = "fill_parent" .

Esto funciona (todos los botones tienen el mismo tamaño), pero no estoy seguro si esto causa otros problemas? Porque el padre obtiene su altura de los niños y viceversa.

En teoría, lo que está describiendo no debería funcionar ("Porque el padre obtiene su altura desde el niño y viceversa"). Sin embargo, lo hicimos funcionar en LinearLayout porque era un caso de uso muy común. Recientemente he añadido soporte similar a FrameLayout (esta característica debería ser parte de Honeycomb). Lo que estás haciendo es por lo tanto perfectamente válido y funcionará bien.

Eso no tiene sentido 🙁

¿Por qué no usas android:singleLine="true" y algún ellipsode?

  • El enfoque de EditText es inconsistente en todos los diseños
  • Lectura de un archivo de texto o de un archivo XML en Android java
  • Cómo crear un menú mediante programación en Android?
  • Android: traducciones en recursos
  • LinearLayout: Alineación a la derecha del padre
  • Android xml dibujable imagen en pantalla completa de fondo
  • Android NumberPicker: Establecer min, max, por defecto de XML
  • Cómo especificar la carpeta lib para JARs cuando se utiliza un archivo de generación de hormigas generado por Android?
  • No se especifica ninguna orientación y el valor predeterminado es horizontal. Esta es una fuente común de errores cuando los niños se añaden dinámicamente
  • Centre ImageView dentro de otro ImageView en Android
  • InflateException: Línea de archivo XML binario # 22: Error al inflar la clase <unknown>
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.