Intereting Posts
Независимый от масштаба пиксель пиксель Получение 1 байта дополнительно в модуле RSA Key, а иногда и для экспонентов Расширение класса приложений и надлежащей практики Как обновить файлы с файлами (js css images) в приложении Android-телефона Android без обновления моего приложения в магазине Play / App Store Показывать изображение с заставкой с автоматической установкой Отправка по электронной почте Google Analytics Фоновая служба с firebase childeventlistener не работает через несколько минут Авторизовать пользователя на веб-сайте Google в WebView через диалог Отправка блочного или байтового массива в XML Android. Активируйте прокрутку панели управления приложениями на основе ресайклинга на основе просмотра. Библиотека Picasso, Android: использование приемника ошибок Как сделать отображение сетки горизонтально вертикально в андроиде? Отправка изображений из галереи в веб-службу с использованием SOAP Возможно ли иметь ссылку на отложенное приложение в сообщении facebook? Черный цвет андроида при непрозрачности 85%

Распределение пространства LinearLayout

У меня сложная компоновка, в которой горизонтальный LinearLayout содержит два других LinearLayout s. Содержимое для этих макетов является динамическим, может быть любым видом, и создается во время выполнения из разных независимых источников.

Я хочу отобразить их оба, если есть достаточно места и ограничить их до 50% доступного пространства в противном случае. Поэтому я хочу, чтобы у этих дочерних LinearLayout s был layout_width="wrap_content" когда есть достаточно места, а layout_weight="0.5" когда этого не происходит. Это означает, что распределение пространства может составлять 10-90, 25-75, 60-40; Это будет всего 50-50, когда недостаточно места для отображения всего содержимого обоих представлений. До сих пор я не нашел способ сделать это из XML, поэтому я делаю это из кода. Мой вопрос: могу ли я достичь того, что хочу, используя только атрибуты XML? Сможешь ли это сделать другой вид макета?

Вот мой текущий формат XML:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal" android:padding="2dp" > <LinearLayout android:id="@+id/title_frame" android:layout_width="wrap_content" android:layout_height="48dp"/> <LinearLayout android:id="@+id/options_frame" android:layout_width="wrap_content" android:layout_height="48dp"/> </LinearLayout> 

Попробуй это.

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:orientation="horizontal" android:padding="2dp" > <LinearLayout android:id="@+id/title_frame" android:layout_width="wrap_content" android:layout_height="48dp" android:layout_weight="1"> </LinearLayout> <LinearLayout android:id="@+id/options_frame" android:layout_width="wrap_content" android:layout_height="48dp" android:layout_weight="1"> </LinearLayout> </LinearLayout> 

Я попробовал его с текстовыми изображениями, и это должно работать в соответствии с требованиями к уре.

Похоже, этого не может быть достигнуто с использованием только атрибутов XML.

Измените layout_width = "wrap_content" на layout_width = "fill_parent", поскольку вы используете концепцию веса.