[英]Android EpoxyRecyclerView - switching orientation
我正在尝试使用 Epoxy 构建以下布局结构:
前三个布局来自 EpoxyAModel。 第四个来自 EpoxyBModel。
这是我的 buildModels 函数:
override fun buildModels() {
aModels.forEach { //this happens 3 times
modelA {
id("someID")
(...)
}
}
modelB {
id("someID2")
(...)
}
}
通过此设置,我得到以下结果:
这是可以理解的,因为EpoxyRecyclerView
的文档说:
如果 RecyclerView 设置为 match_parent 大小,则滚动方向设置为垂直,setHasFixedSize 设置为 true。
如果高度设置为 wrap_content 则滚动方向设置为水平,并且 setClipToPadding 设置为 false 以用于轮播。
我的问题是:是否有可能获得所需的效果,或者我是否必须定义另一个EpoxyRecyclerView
和控制器?
提前致谢。
好吧,我想通了!
首先,我们需要为EpoxyRecyclerView
分配一个GridLayoutManager
:
recyclerView.layoutManager = GridLayoutManager(context, 3)
然后,在EpoxyBModel
我们需要覆盖getSpanSize
方法来告诉布局管理器这个元素和一整行项目一样大:
override fun getSpanSize(totalSpanCount: Int, position: Int, itemCount: Int): Int = 3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.