我的类从BottomSheetDialogFragment扩展,在这个布局中使用2个recyclerViews。但总是1个recyclerView可滚动和其他recyclerView不起作用。
ToList()
答案 0 :(得分:3)
终于得到了答案。 在CoordinatorLayout中使用2 RecyclerView。
<android.support.design.widget.CoordinatorLayout
android:id="@+id/mainBottomSheet"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerViewRight"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerViewLeft"
android:layout_width="200dp"
android:layout_height="match_parent" />
</android.support.design.widget.CoordinatorLayout>
请注意,其中一个RecyclerView必须是match_parent
,另一个是任意大小。建议将match_parent
提供给第一个RecyclerView。
这将导致两个RecyclerViews可滚动。
您可以使用下面的代码轻松地将RecyclerViews更改一半。
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics displayMetrics = new DisplayMetrics();
windowManager.getDefaultDisplay().getMetrics(displayMetrics);
deviceScreenUtilsWidth = displayMetrics.widthPixels;
recyclerViewLeft.getLayoutParams().width = deviceScreenUtilsWidth / 2;
答案 1 :(得分:0)
我的情况类似于此,但在我的情况下,第一个Recyclerview是水平的,第二个是垂直的。我无法直接滚动第二个。所以我按照以下方式解决了这个问题
<android.support.design.widget.CoordinatorLayout
<android.support.v4.widget.NestedScrollView
<android.support.v7.widget.RecyclerView
<android.support.v7.widget.RecyclerView
并设置第二个recyclerview
recycler.setNestedScrollingEnabled(false);