Итак, я нашел 2 возможных решения этой проблемы, поэтому я делюсь ими здесь.
Первое решение - развернуть BottomSheetDialogFragment
на весь экран, ниже приведен пример того, как это делается:
View parent = (View) view.getParent();
CoordinatorLayout.LayoutParams params = (CoordinatorLayout.LayoutParams) (parent).getLayoutParams();
CoordinatorLayout.Behavior behavior = params.getBehavior();
BottomSheetBehavior bottomSheetBehavior = (BottomSheetBehavior) behavior;
bottomSheetBehavior.setPeekHeight(view.getMeasuredHeight());
Затем мы корректируем положение кнопки внутри макета нашего BottomSheetDialogFragment
, например, если у нас есть RelativeLayout
, мы можем установить android:layout_alignParentBottom="true"
. Это будет означать, что наша кнопка всегда будет выровнена в нижней части экрана, когда BottomSheetDialogFragment
развернут (на весь экран).
Другим решением, которое, как я считаю, является ПРАВОЕ РЕШЕНИЕ , заключается в том, чтобы заключить все содержимое макета BottomSheetDialogFragment
в ScrollView
. Таким образом, если высота устройства недостаточна, контент, включая кнопку, будет размещен, но в любой момент может быть прокручен.