Android 防止用户在底部工作表内查看时拖入底部工作表
我有相对的底线行为。在relativelayout中,我有imageview,下面是recyclerview。现在我想防止用户在recyclerview中向下滑动时拖动。我尝试过在onStateChanged方法中扩展设置模式,但它似乎不起作用,因为我使用了recyclerviewAndroid 防止用户在底部工作表内查看时拖入底部工作表,android,android-recyclerview,bottom-sheet,Android,Android Recyclerview,Bottom Sheet,我有相对的底线行为。在relativelayout中,我有imageview,下面是recyclerview。现在我想防止用户在recyclerview中向下滑动时拖动。我尝试过在onStateChanged方法中扩展设置模式,但它似乎不起作用,因为我使用了recyclerview mBottomSheetBehavior = BottomSheetBehavior.from(bottomsheetLayout); mBottomSheetBehavior.setPeekHeight(0
mBottomSheetBehavior = BottomSheetBehavior.from(bottomsheetLayout);
mBottomSheetBehavior.setPeekHeight(0);
mBottomSheetBehavior.setBottomSheetCallback(new BottomSheetBehavior.BottomSheetCallback() {
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
if (newState == BottomSheetBehavior.STATE_DRAGGING) {
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
}
@Override
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
}
});
我的xml文件是:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:visibility="visible"
app:layout_behavior="android.support.design.widget.BottomSheetBehavior"
android:id="@+id/dragView1">
<ImageView
android:layout_width="32dp"
android:src="@drawable/iv_close"
android:padding="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_5"
android:id="@+id/ivItemsClose"
android:layout_marginRight="@dimen/margin_5"
android:clickable="true"
android:layout_alignParentRight="true"
android:layout_height="32dp" />
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:id="@+id/rcBoutique"
android:overScrollMode="never"
android:layout_height="wrap_content"/>
</Relativelayout>
如何防止拖拽,使底部工作表不会折叠?我也面临这个问题,然后我通过在RecyclerView中使用android:nestedScrollingEnabled=“false”解决了这个问题,这一行可以禁用嵌套滚动行为 BottomSheet和Recyclerview都有scolling行为,这就是产生此问题的原因
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:id="@+id/rcBoutique"
android:overScrollMode="never"
android:layout_height="wrap_content"
android:nestedScrollingEnabled="false"/>
我使用ListView和BottomSheetDialog面对这个问题。我相信这是同样不想要的结果。尝试滚动列表可能会关闭底部工作表
我的修正是使用
bottomSheetDialog.setCancelable(false)代码>以防止底部板材对滚动动作作出反应。滚动手势现在只操作ListView。对于这些操作,我有一个“确定”和“取消”按钮。运气好吗?我遇到了同样的问题。谢谢。这是我丢失的链接。使用这个和米希尔的答案一起工作对我来说,我仍然能够滚动我的回收器视图,而无需拖动底部的工作表。