BottomSheetDialogFragment - закрывать только при полном пролистывании Kotlin Android - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть BottomSheetDialogFragment, чтобы показать список элементов внутри фрагмента. Каждый элемент списка получил сопоставленное событие клика. Проблема здесь заключается в том, что в большинстве случаев действие щелчка превращается в действие смахивания вниз, а BottomSheetDialogFragment закрывается. У меня нет пользовательских событий для мониторинга событий в моем коде.

    dialog?.also {
      it.findViewById<View>(R.id.design_bottom_sheet)?.let { bottomSheet ->
         bottomSheet.layoutParams?.height = ViewGroup.LayoutParams.MATCH_PARENT
         BottomSheetBehavior.from(bottomSheet).state = BottomSheetBehavior.STATE_EXPANDED
         BottomSheetBehavior.from(bottomSheet).skipCollapsed = true
      }
   }

Я должен предотвратить событие закрытия BottomSheetDialogFragment при нажатии, которое превращается в действие смахивания вниз из-за небольшого добавленного дополнительного движения. Это может произойти и должно быть обработано, так как это приложение будет использоваться общими публикациями c.

Может кто-нибудь предложить найти расстояние пролистывания на BottomSheetDialogFragment. Так что, если значение ниже, диалог останется открытым. И если значение высокое из-за намеренного свайп-события, диалоговое окно будет закрыто.

...