Intereting Posts
Android In-App Billing: Security.java говорит: «Подтверждение подписи завершено» Android NDK: как связать несколько сторонних библиотек Рассчитайте угол касания и поверните его в Android Установите onClickListener в LinearLayout, заполненный пользовательским адаптером Как изменить размер шрифта tabhost в android Как классифицировать андроид на малом, среднем, большом, х-большом экране? Различные ширины и высоты от DisplayMetrics и $ (window) .width () в WebView GoogleSignInResult возвращает DEVELOPER_ERROR в Android-приложении, используя Firebase Удаление студии Android: исключение null-указателя LoaderCallbacks.onLoadFinished не вызывается, если изменение ориентации происходит во время запуска AsyncTaskLoader Ресурсы $ NotFoundException при использовании Robolectric с Gradle Попытка повторного открытия уже закрытого объекта: SQLiteDatabase Укажите аргументы Cipher.getInstance ()? Как указать путь библиотек в файле Android.mk или файле Application.mk? Фрагменты, отображаемые друг над другом

Распределение пространства 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", поскольку вы используете концепцию веса.