我正在尝试在RecyclerView
父级中创建一个混合项目,其中包含一些CardViews
,其中包含另一个RecyclerView
。如果您还没有看到它,请设想ListViews
内的多个RecyclerView
(ListViews
按标题分组)。
这是我为了使其更清晰而绘制的结构:
以上是我想要实现的布局结构。请注意,这只是计划。我不确定在RecyclerView中使用RecyclerView是否是一个好主意。
到目前为止,我已尝试使用ExpandableRecyclerView来实现这种复杂的布局。但问题是在RecyclerView中添加不同的项目类型(例如水平滚动轮播)时,它隐藏在标题中。
我现在想不出任何其他方式。你们对如何实现这种布局有任何建议吗?
为简单起见,如果您理解我的意思,那么RecyclerView
父级内的CardView
内的RecyclerView
分段{/ 1}}。
答案 0 :(得分:4)
不建议在另一个RecyclerView中使用RecyclerView。但是,如果要使用嵌套的RecyclerViews实现上述目的,可以使用布局管理器将RecyclerView包装到其最内层(绿色)RecyclerView的内容高度。 https://github.com/serso/android-linear-layout-manager
已经有一个这样的布局管理器还要确保通过如下设置onTouchListener来禁用最里面的RecyclerView上的触摸手势。
mRecyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener {
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
return true;
}
@Override
public void onTouchEvent(RecyclerView rv, MotionEvent e) {
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
}
});