我想要一个具有固定行数不可滚动的recyclerView,并且每行都有一个固定的高度以填充所有屏幕。例如,我有4行,因此行高应为recyclerView height / 4。
行布局.xml
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/border"
android:clickable="true"
>
<ImageView
android:id="@+id/ivImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
android:src="@drawable/carte_recto"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.7"
android:layout_margin="0dp"
android:padding="0dp"
android:background="@color/colorPrimary"/>
RecyclerView:
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="0dp"
android:padding="0dp"
android:scrollbars="none" />
java代码:
mRecyclerView.setHasFixedSize(true);
GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(),1, LinearLayoutManager.VERTICAL, false);
mRecyclerView.setLayoutManager(gridLayoutManager);
mRecyclerView.addOnItemTouchListener(new RecyclerItemClickListener(getActivity(), onItemClickListener));
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
mRecyclerView.setAdapter(storeAdapter);
storeAdapter.notifyDataSetChanged();
有什么想法吗?
答案 0 :(得分:0)
您可以使用跨度为4的网格布局管理器。
layoutManager = new GridLayoutManager(getContext(), **4**, GridLayoutManager.VERTICAL, false);
mRecyclerView.setLayoutManager(layoutManager);
答案 1 :(得分:0)
在您的适配器
中 @Override
public int getItemCount() {
return 4;
}
通过返回特定数字,您可以修复迭代次数。
如果您想让它不可滚动,请return 1
中的getCount()
并在MyRow.xml
中定义4个项目并使用weight_sum
。