我想制作一个布局管理器,以标签云的表示方式来表示其项目,如下图所示。
有一些库可以做到这一点,但我只想学习如何使用 RecyclerView 及其 LayoutManager 模式来做到这一点。 StaggeredGridLayoutManager 无法选择,因为您必须像 GridLayoutManager 一样指定列数,在这种特殊情况下我需要的是使某些行包含 2 个项目,一些包含 1 个元素,一些包含 3 个或更多元素。我正在考虑使用具有水平方向的 LinearLayoutManager,但我需要使其破坏当前行中没有更多空间的元素(位于新行中),而不是使其水平滚动。但我不知道该怎么做。任何人都可以至少指导我了解解决方案的基础知识吗?
谢谢。
//依赖
implementation("com.google.android.flexbox:flexbox:3.0.0")
// 设置 FlexboxLayoutManager
val layoutManager = FlexboxLayoutManager(this)
layoutManager.flexDirection = FlexDirection.ROW
layoutManager.justifyContent = JustifyContent.FLEX_START
recyclerView.layoutManager = layoutManager