BottomSheetDialogFragment 滑动冲突处理

640 阅读1分钟
private BottomSheetBehavior.BottomSheetCallback mBottomSheetCallback
        = new BottomSheetBehavior.BottomSheetCallback() {
    @Override
    public void onStateChanged(@NonNull View bottomSheet,
                               @BottomSheetBehavior.State int newState) {
        if (newState == BottomSheetBehavior.STATE_DRAGGING) {
            if (满足BottomSheetDialog处理方法,例如子控件滑动到顶部---一般同方向滑动事件冲突 用NestedScrollView来处理 ) {
                behavior.setState(BottomSheetBehavior.STATE_DRAGGING);
            } else {
                behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
            }
        } else if (newState == BottomSheetBehavior.STATE_HIDDEN) {
            dismiss();
        }
    }

    @Override
    public void onSlide(@NonNull View bottomSheet, float slideOffset) {
    }
};