前言
使用BottomSheetDialog弹窗时,里面嵌套了一个纵向的RecyclerView,弹出后加载列表数据,发现弹窗不能滑动,产生了滑动冲突。
一、使用步骤
1.布局示例
代码如下(示例):
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="wrap_content"android:background="@drawable/yuan_jiao_15dp_top_bai"android:orientation="vertical"><androidx.recyclerview.widget.RecyclerViewandroid:id="@+id/recyclerView"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginLeft="13dp"android:layout_marginTop="12dp"android:layout_marginRight="13dp"android:orientation="horizontal"android:overScrollMode="never"app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"tools:listitem="@layout/item_results_dialog" /><androidx.appcompat.widget.LinearLayoutCompatandroid:id="@+id/llc_one"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_margin="8dp"android:orientation="vertical"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginHorizontal="8dp"android:background="@drawable/yuan_jiao_5dp_top"android:padding="8dp"android:text="相关数据"android:textColor="#ff333333"android:textSize="16dp" /><androidx.core.widget.NestedScrollViewandroid:layout_width="match_parent"android:layout_height="match_parent"><androidx.appcompat.widget.LinearLayoutCompatandroid:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><androidx.recyclerview.widget.RecyclerViewandroid:id="@+id/recyclerView_item"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_gravity="center_vertical"android:layout_marginLeft="4dp"android:layout_marginRight="4dp"android:overScrollMode="never"app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"app:spanCount="2"tools:listitem="@layout/item_recommend" /></androidx.appcompat.widget.LinearLayoutCompat></androidx.core.widget.NestedScrollView></androidx.appcompat.widget.LinearLayoutCompat>
</androidx.appcompat.widget.LinearLayoutCompat>
如上例子BottomSheetDialog中嵌套了两个列表,关键属性为android:overScrollMode="never"设置一下
2. BottomSheetDialog简单示例
代码如下(示例):
BottomSheetDialog dialog = new BottomSheetDialog(this);View bottomSheetDialog=LayoutInflater.from(this).inflate(R.layout.ldentification_results_dialog, null);dialog.setContentView(bottomSheetDialog);dialog.setCancelable(true);dialog.setCanceledOnTouchOutside(true);dialog.show();WidgetUtils.transparentBottomSheetDialogBackground(dialog);
该处使用的WidgetUtils为第三方XUI
需要引用 //XUIView
implementation ‘com.github.xuexiangjys:XUI:1.2.1’
总结
以上就是今天要讲的BottomSheetDialog滑动冲突问题。