我正在尝试在RecyclerView
父级中创建一个混合项,其中包含一些CardViews
以及其中的另一个RecyclerView
。如果您还看不到它,请想象一个ListViews
中有几个RecyclerView
(该ListViews
按标题分组)。
这是我为了使其更清晰而绘制的结构:
上面是我要实现的布局结构。请注意,这仅是计划。我不确定将RecyclerView包含在RecyclerView中是否是一个好主意。
到目前为止,我已经尝试使用ExpandableRecyclerView来实现这种复杂的布局。但是问题是,当在RecyclerView中添加其他项目类型时(例如,水平滚动轮播),它隐藏在Header中。
我现在想不出其他任何方式。你们对如何实现这种布局有什么建议吗?
为了简单起见,如果您理解我的意思,它是RecyclerView
父级中子CardView
内的分段RecyclerView
。
最佳答案
不建议在另一个RecyclerView中使用RecyclerView。但是,如果要使用嵌套的RecyclerViews实现上述目的,则可以使用布局管理器,将最里面的(绿色)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) {
}
});
关于android - 另一个RecyclerView中的RecyclerView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34946182/