[英]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.