当在bottomsheet android内部的recyclerview时,防止用户在底层表中拖动

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

我有相对布局作为底片行为。在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>

如何防止拖拽使底片不会塌陷?

android android-recyclerview bottom-sheet
1个回答
0
投票

我也面临这个问题然后我通过在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"/>
© www.soinside.com 2019 - 2024. All rights reserved.