Верх нижнего предела листа не работает правильно - Android
Я работаю с нижним листом, и он отлично работает, если я не добавляю верхний край.
Я хочу, чтобы нижний лист заполнил экран, когда он был поднят, но он также идет за панель действий.
Чтобы решить эту проблему, я добавил край верхнего края к нижнему листу, эквивалентный высоте панели действий, он отлично работает, пока нижняя панель не окажется внизу.
<RelativeLayout
android:id="@+id/rl_bottom_sheet"
android:layout_width="match_parent"
android:layout_height="280dp"
android:margin_top="60dp"
app:behavior_peekHeight="80dp"
app:behavior_hideable="false"
app:layout_behavior="@string/bottom_sheet_behavior"
android:background="@drawable/ic_camera">
Когда нижний лист сдвинут вниз, разницы больше нет, а над окном становится равным peekHeight + marginTop
Перед расширением
![How should I fix it?]()
Свернувшись после однократного расширения
![enter image description here]()
Ответы
Ответ 1
Один из вариантов - использовать Toolbar
вместо добавления поля в BottomSheet. Вы можете поместить это внутри CoordinatorLayout
вверху, чтобы он находился за BottomSheet. Убедитесь, что представление, которое имеет значение BottomSheetBehavior
находится в нижней части макета и имеет более высокую высоту, чем Toolbar
.
Ответ 2
Я могу предложить вам изменить корневой макет - с CoordinatorLayout на любой другой (относительный/линейный и т.д.). И после этого вы можете добавить свой CoordinatorLayout в новую корневую ViewGroup с нужным marginTop.
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="80dp"