Я немного отскочил и не смог найти решение, соответствующее тому, что я пытаюсь сделать.
У меня есть 2 RelativeLayouts внутри LinearLayout.
Я бы хотел, чтобы первый RelativeLayout занял 60% экрана.
Я хотел бы, чтобы второй макет взял оставшуюся часть экрана.Макет, одна ViewGroup занимает 60% высоты, а другая заполняет остальные
Я использую весы, но я пытаюсь выяснить, есть ли способ, которым я могу избежать использования вторичного веса на втором RelativeLayout.
Причина этого в том, что пользователь имеет возможность с помощью кнопки «Щелчок», чтобы скрыть первый макет.
В коде я делаю это, установив видимость первого RelativeLayout на «Gone».
Проблема заключается в том, что если у меня установлен вес .6 и .4 и сумма 1, когда первый из них ушел, второй движется правильно, но его высота не увеличивается, так как она была установлена на 40 %.
В идеале я мог бы настроить его на заполнение оставшегося места на экране, и поэтому, когда первый будет скрыт, он теперь займет все 100% экрана.
Возможно ли это, или мне нужно сделать больше программно, когда я скрою первый вид, чтобы увеличить разрешенную высоту второго представления?
Надеюсь, это имеет смысл, если не сообщит мне, и я попытаюсь уточнить дальше.
Я удалил часть содержимого RelativeLayouts для простоты, а также некоторые идентификаторы.
код ниже:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:breadCrumbNavigationLayout="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:id="@+id/linearlayout1"
android:focusable="true"
android:focusableInTouchMode="true"
android:weightSum="1">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:id="@+id/relativeLayout1"
android:layout_weight="0.6">
<FrameLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/frame1" />
<ProgressBar
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:id="@+id/progress"
android:indeterminateOnly="true"
android:keepScreenOn="true"
android:visibility="gone" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/relative2">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text=""
android:textSize="16dp"
android:gravity="center_horizontal"
android:layout_below="@+id/relativeLayout1" />
<ListView
android:id="@+id/list"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:dividerHeight="1dp" />
</RelativeLayout>
</LinearLayout>
Вы можете установить начальную высоту макета на 60% и вторую компоновку ниже первой компоновки, а вторую высоту макета - match_parent. Когда вы скроете первый макет, он займет весь макет. –
@ Майк М. Хорошо. Я отредактирую свой ответ. Спасибо –
Я могу посмотреть на это, но похоже, что он все еще хочет несколько процентов, чтобы закрыть экран? Можно ли установить процент только на одном из содержимого, а другой - заполнить остальные? – Kyle