交错网格布局行为问题

Posted

技术标签:

【中文标题】交错网格布局行为问题【英文标题】:Staggered Grid Layout behavior issue 【发布时间】:2018-09-16 06:16:13 【问题描述】:

我是 android 新手。 有人可以帮助解决“奇怪的” StaggeredGridLayout 行为。下面附上 GIF:

first_example_StaggeredGridLayout_behavior.gif

second_example_StaggeredGridLayout_behavior.gif

我的回收站初始化代码:

 val layoutManager = StaggeredGridLayoutManager(resources.getInteger(R.integer.span_value), StaggeredGridLayoutManager.VERTICAL)
 layoutManager.gapStrategy = StaggeredGridLayoutManager.GAP_HANDLING_MOVE_ITEMS_BETWEEN_SPANS
 photoRecycler.adapter = adapterUnsplash
 photoRecycler.layoutManager = layoutManager
 photoRecycler.addItemDecoration(StaggeredItemDecoration(view.resources.getInteger(R.integer.column_spacing)))

ItemDecoration 类

class StaggeredItemDecoration constructor(private var space: Int)
: RecyclerView.ItemDecoration() 

    override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State?) 
       val halfSpacing = space / 2
       outRect.set(halfSpacing, halfSpacing, halfSpacing, halfSpacing)

 

我研究了很多来源,但都没有帮助解决我的问题。 提前致谢。

【问题讨论】:

什么行为? ? 这有什么奇怪的?你能详细说明一下吗 我面临同样的问题 【参考方案1】:

您是否尝试过使用 item Animator?

photoRecycler.setItemAnimator(null);

以上代码将删除应用于回收器视图的默认动画器。

【讨论】:

以上是关于交错网格布局行为问题的主要内容,如果未能解决你的问题,请参考以下文章

在两个方向上工作的交错网格布局管理器

分页不适用于交错网格布局android

GridLayout(网格布局)

Android零基础入门第32节:新推出的GridLayout网格布局

交错网格视图无法在 2 列中显示数据

学会使用Android Studio网格布局制作计算器界面