Android BottomSheet:我怎么知道用户是向上还是向下拖动底表?

问题描述 投票:0回答:1

我有一个应用程序,其底页打开的高度高达屏幕高度的90%。我怎么知道用户是否在上/下拖动底页。我读到我们可以使用onSlide(),但偏移值是NaN,有时甚至很奇怪,所以似乎有点不可靠。任何帮助表示赞赏。预先感谢。

android bottom-sheet
1个回答
0
投票

在底表中,我们可以使用BottomSheetBehavior访问其行为,在onStateChanged()中获取所有状态。

final BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet);
        behavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
            @Override
            public void onStateChanged(@NonNull View bottomSheet, int newState) {
                if (newState == BottomSheetBehavior.STATE_DRAGGING) {
                    behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
                }
            }

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

BottomSheetBehavior.STATE_COLLAPSED

BottomSheetBehavior.STATE_EXPANDED

© www.soinside.com 2019 - 2024. All rights reserved.