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