如何在BottomSheetDialogFragment中使用2 recyclerView [英] how use 2 recyclerView in BottomSheetDialogFragment
问题描述
我的类从BottomSheetDialogFragment扩展,在此布局中使用2个recyclerViews。但总是1个recyclerView可滚动和其他recyclerView不起作用。
my class extends from BottomSheetDialogFragment and in this layout use 2 recyclerViews. but always 1 recyclerView scrollable and other recyclerView not work.
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainCoordinatorLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/mainBottomSheet"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerViewOne"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerViewTwo"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>
推荐答案
终于得到了答案。
在CoordinatorLayout中使用2 RecyclerView。
Finally got the answer. use 2 RecyclerView in CoordinatorLayout.
<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。
Note that one of the RecyclerView must be match_parent
and the other one is of an arbitrary size. Advisable to provide match_parent
to first RecyclerView.
这将导致两个RecyclerViews可滚动。
This will cause two RecyclerViews scrollable.
您可以使用下面的代码轻松地将RecyclerViews更改一半。
You can easily change the RecyclerViews by half using the code below.
WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics displayMetrics = new DisplayMetrics();
windowManager.getDefaultDisplay().getMetrics(displayMetrics);
deviceScreenUtilsWidth = displayMetrics.widthPixels;
recyclerViewLeft.getLayoutParams().width = deviceScreenUtilsWidth / 2;
这篇关于如何在BottomSheetDialogFragment中使用2 recyclerView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!