Объединение wrap_content на родительском и fill_parent на дочернем

Установка двух или более элементов линейного макета одинаковой высоты кажется большой проблемой.

Я хочу установить четыре кнопки подряд на одну и ту же высоту.

Android: layout_height = "wrap_content" делает это на данный момент, но когда текст на одной из кнопок длиннее одной строки, эта кнопка увеличивается и, следовательно, больше, чем другие. Из-за разных локализаций я не знаю, когда и какая кнопка может иметь вторую строку.

Поэтому моя идея состоит в том, чтобы установить parent linearlayout в android: layout_height = "wrap_content" и все (!) Высоты ребенка для android: layout_height = "fill_parent" .

Это работает (все кнопки имеют одинаковый размер), но я не уверен, что это вызывает другие проблемы? Потому что родитель получает его высоту от детей и наоборот.

Теоретически то, что вы описываете, не должно работать («Потому что родитель получает его высоту от детей и наоборот».) Однако мы сделали его работу в LinearLayout, потому что это был очень распространенный случай использования. Недавно я добавил аналогичную поддержку FrameLayout (эта функция должна быть частью Honeycomb). Поэтому вы абсолютно корректны и будете работать нормально.

Это не имеет смысла 🙁

Почему бы вам не использовать android:singleLine="true" и некоторые эллипсоды?