Я работаю над BottomSheetDialogFragment
, мое требование состоит в том, чтобы создать нижнее меню, где, если я нажимаю за пределами области фрагмента, оно должно не отменять диалоговое окно и должно сохраняться.
ПРОБЛЕМА: И событие за пределами фрагмента должно распространяться на представление/фрагмент нижнего фрагмента.
Я уже пробовал ниже (не работает для BottomDialogFragment): Разрешить внешнее касание для DialogFragment
Чтобы остановить отмену диалога, я попробовал ниже (я вызываю setCancelable(boolean)
в onStart()
BottomDialogFragment):
@Override
public void setCancelable(boolean cancelable) {
super.setCancelable(cancelable);
BottomSheetDialog dialog = (BottomSheetDialog) getDialog();
dialog.setCanceledOnTouchOutside(cancelable);
View bottomSheetView = dialog.getWindow().getDecorView().findViewById(R.id.design_bottom_sheet);
BottomSheetBehavior.from(bottomSheetView).setHideable(cancelable);
}
РЕДАКТИРОВАТЬ: Нашел трудный путь, нет другого выхода, чем использование макета координат. Лучшее решение для BottomSheetDialog - здесь