交错网格布局行为问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了交错网格布局行为问题相关的知识,希望对你有一定的参考价值。

我是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)

 }
}

我研究过很多来源,但都没有对我的问题有所帮助。提前致谢。

答案

你尝试过使用Animator项吗?

photoRecycler.setItemAnimator(null);

上面的代码将删除应用于recycler视图的默认动画。

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

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

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

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

片段中的网格视图

如何在kotlin的片段内显示网格视图?

GridLayout(网格布局)