У меня такой макет фрагмента.
<android.support.design.widget.CoordinatorLayout xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:app = "http://schemas.android.com/apk/res-auto"
xmlns:tools = "http://schemas.android.com/tools"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
android:background = "@color/colorBackgroundBlack">
<MyCustomView
android:id = "@+id/vBottomSlider"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
app:layout_behavior = "android.support.design.widget.BottomSheetBehavior" />
</android.support.design.widget.CoordinatorLayout>
Для моего vBottomSlider я создаю экземпляр BottomSheetBehavior:
val bh = BottomSheetBehavior.from(vBottomSlider)
bh.isHideable = false
bh.peekHeight = 50.dpToPx
bh.setBottomSheetCallback(mBottomCallback)
Это все внутри фрагмента.
Мой основной макет активности выглядит так:
<android.support.constraint.ConstraintLayout
android:id = "@+id/vMainConstraint"
android:layout_width = "match_parent"
android:layout_height = "match_parent">
<FrameLayout
android:id = "@+id/fContent"
android:layout_width = "match_parent"
android:layout_height = "match_parent" />
<com.aurelhubert.ahbottomnavigation.AHBottomNavigation
android:id = "@+id/vNavigation"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
app:layout_constraintBottom_toBottomOf = "parent" />
</android.support.constraint.ConstraintLayout>
Для моего fContent я установил нижний padding как высоту vNavigation. Когда я прокручиваю свой vBottomSlider, я скрываю vNavigation, изменяя его translationY, и устанавливаю padding для своего fContent (принимая событие onSlide от BottomSheetBehavior.BottomSheetCallback).
Скольжение пальцем полностью, работает нормально.
Но когда я использую fling или программно устанавливаю состояние EXPANDED или COLLAPSED для моего экземпляра BottomSheetBehavior, он не прокручивается полностью. Здесь всегда есть место (кажется, высота моего vNavigation).
Мне удалось решить эту проблему, отредактировав исходный код BottomSheetBehavior.
Мое решение немного хакерское. Отправьте электронное письмо, если вам нужен отредактированный класс.
@ Тим, он слишком большой
разместить решение здесь, не нужно просить отправить письмо :)