Подтвердить что ты не робот

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

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

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

Это не имеет смысла: (

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