Как я могу изменить чувствительность Dismiss Behavior BottomSheetDialog - PullRequest
0 голосов
/ 04 мая 2020

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

1 Ответ

0 голосов
/ 09 мая 2020

use BottomSheetBehavior

это приведет к поведению для вашего представления BottomSheetDialogFragment


var mBehavior: BottomSheetBehavior<*> = BottomSheetBehavior.from([your view reference])

, тогда вы можете настроить как это

val dismissOffset: Float = [-1..0] // 0 is the starting position. -1 is hidden. -0.5 is middle

var offset: Float? = null

mBehavior.setBottomSheetCallback(object : BottomSheetCallback() {
            override fun onStateChanged(bottomSheet: View, newState: Int) {
                if (newState == BottomSheetBehavior.STATE_SETTLING) {
                    if (offset!! > dismissOffset) {
                        mBehavior.setState(BottomSheetBehavior.STATE_EXPANDED)
                    } else {
                        mBehavior.setState(BottomSheetBehavior.STATE_HIDDEN)
                    }
                }
            }

            override fun onSlide(bottomSheet: View, slideOffset: Float) {
                offset = slideOffset
            }
        })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...