【发布时间】:2018-04-14 08:20:16
【问题描述】:
我需要一个具有不同列数的回收站视图。为此,我使用了具有动态跨度大小的网格布局管理器。这是我的代码:
rvSubCat.layoutManager = StaggeredGridLayoutManager(4, 1)
val viewTreeObserver = rvSubCat.getViewTreeObserver()
viewTreeObserver.addOnGlobalLayoutListener(ViewTreeObserver.OnGlobalLayoutListener { calculateSize() })
categoryAdapter = CategoryAdapter(categoryList, true, this)
rvSubCat.adapter = categoryAdapter
private fun calculateSize() {
val spanCount = Math.floor((rvSubCat.getWidth() / SizeUtils.dp2px(sColumnWidth.toFloat())).toDouble()).toInt()
(rvSubCat.getLayoutManager() as StaggeredGridLayoutManager).spanCount = spanCount
}
但是想要的结果并不好。它正在固定每行中的列数。我需要的列数应该取决于行项的总宽度。
需要这个(期望的结果):
得到这个
【问题讨论】:
-
我认为你应该为此使用标签视图库
标签: android android-recyclerview gridlayoutmanager