Объединение wrap_content на родительском и fill_parent на дочернем
Установка двух или более элементов линейного макета одинаковой высоты кажется большой проблемой.
Я хочу установить четыре кнопки в строке на одну и ту же высоту.
android: layout_height = "wrap_content" делает это на данный момент, но когда текст на одной из кнопок длиннее одной строки, эта кнопка увеличивается и, следовательно, больше, чем другие. Из-за разных локализаций я не знаю, когда и какая кнопка может иметь вторую строку.
Итак, моя идея состоит в том, чтобы установить parent linearlayout в android: layout_height = "wrap_content" и все (!) дочерние высоты для android: layout_height = "fill_parent" .
Это работает (все кнопки имеют одинаковый размер), но я не уверен, что это вызывает другие проблемы? Поскольку родитель получает его высоту от дочерних элементов и наоборот.
Ответы
Ответ 1
В теории то, что вы описываете, не должно работать ( "Потому что родитель получает его высоту от дочерних элементов и наоборот".) Однако мы сделали это в LinearLayout, потому что это был очень распространенный случай использования. Недавно я добавил аналогичную поддержку FrameLayout (эта функция должна быть частью Honeycomb). Поэтому вы абсолютно корректны и будете работать нормально.
Ответ 2
Это не имеет смысла: (
Почему бы вам не использовать android:singleLine="true"
и некоторые эллипсоды?