代码之家  ›  专栏  ›  技术社区  ›  Simon

安卓EpoxyRecycler视图-切换方向

  •  0
  • Simon  · 技术社区  · 5 年前

    我正试图用环氧树脂构建以下布局结构:

    enter image description here

    前三个布局来自EpoxyAModel。 第四个来自EpoxyB模型。

    这是我的buildModels函数:

    override fun buildModels() {
    
        aModels.forEach { //this happens 3 times
            modelA {
                id("someID")
                (...)
    
            }
        }
    
        modelB {
            id("someID2")
            (...)
        }
    
    }
    

    通过此设置,我得到了以下结果:

    enter image description here

    这是可以理解的,因为 EpoxyRecyclerView 说:

    如果RecyclerView设置为match_parent大小,则滚动 方向设置为垂直,setHasFixedSize设置为true。

    如果高度设置为wrap_content,则滚动方向为 设置为水平,转盘的setClipToPadding设置为false 使用。

    我的问题是:是否有可能达到预期的效果,还是我必须定义另一个 环氧树脂回收机查看 和控制器?

    提前感谢。

    1 回复  |  直到 5 年前
        1
  •  1
  •   Simon    5 年前

    好吧,我想通了!

    首先,我们需要分配一个 GridLayoutManager EpoxyRecyclerView :

    recyclerView.layoutManager = GridLayoutManager(context, 3)
    

    然后,在 EpoxyBModel 我们需要推翻 getSpanSize 方法告诉布局管理器此元素与整行项目一样大:

    override fun getSpanSize(totalSpanCount: Int, position: Int, itemCount: Int): Int = 3
    
    推荐文章