Android底部弹出菜单禁用手动滚动功能。

4

我正在使用CoordinatorLayout内嵌子滚动的新支持库行为,并且有一个像这样的视图:

 <com.....TodayBottomSheet
        android:id="@+id/bottomSheet"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/bottom_sheet_behavior"
        app:behavior_hideable="false"/>

我的应用中有一个需求,这不是新问题,我需要临时禁用协调布局(coordinator layout)的某些元素的滚动。 对于这个bottomSheet,我需要禁用“手动”滚动,当触摸和拖动屏幕底部时会触发滚动。 我的要求是通过按下按钮打开/关闭底部表格。我知道如何在程序中实现它,但我不知道如何禁用手动滚动。

还有另一个与此相关的问题,当发生某个操作时,我需要临时禁用recyclerView的滚动监听器。 由于协调布局的所有滚动子项都由自己控制,因此我不知道如何实现。

1个回答

1

查看这个解决方案
基本上,在BottomSheetBehavior.STATE_DRAGGING时设置BottomSheetBehavior.STATE_EXPANDED


5
这并不是一个很好的解决方案 - 你仍然可以拖动,只是看起来似乎试图扩展但失败了。 - Ed Lee
1
我不知道如何停止拖动“底部模态表单”。似乎已经尝试了所有的SO解决方案。用户可以将其拖到顶部,而我不希望这样。 - eRaisedToX

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接