我有相对布局作为底片行为。在relativelayout里面,我有imageview,在它下面是recyclerview。现在我想阻止用户在recyclerview中向下滑动时拖动。我已经尝试在onStateChanged方法中扩展设置模式,但它似乎不起作用,因为我有recyclerview。
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"/>