【问题标题】:A column could offset some distance down when scroll up and down in StaggeredGridView (PinterestListView)在 StaggeredGridView (PinterestListView) 中上下滚动时,列可能会向下偏移一些距离
【发布时间】:2023-03-26 06:20:01
【问题描述】:

我使用 StaggeredGridView 来显示列表项,例如 Pintrest 列表视图。 This is the librarylink.

但是,上下滚动时第二列会下降。

原创 -

滚动后 -

【问题讨论】:

    标签: android android-listview listadapter pinterest viewgroup


    【解决方案1】:

    如果您使用的是早期版本的库,则存在导致项目滚动到视图之外的错误。确保您拥有最新版本的库。

    如果这不能解决您的问题,您可以尝试以下库之一:

    然后,如果所有其他方法都失败了,您可以尝试以下其他建议之一(借用justinmccandless.com):

    1。只需使用Grid List

    网格列表可能并不完全符合您的要求,但它们由 Google 提供原生支持,并具有所需的所有稳定性。如果您可以在没有不同大小的偏移行的情况下度过难关,这是一种非常简单且可靠的方法。查看 Android 的默认图库应用以了解其外观,并查看Grid List documentation 了解更多信息。

    2。尝试使用 Staggered Grid View 修改后的 GridView

    这个 Github 项目提供了谷歌试图用他们的原生交错 GridView 做的一个非常接近的克隆。这是一个广泛使用且得到良好支持的项目,但请注意缺少 onItemClick 方法(在撰写本文时)。它也缺乏对滚动监听器的支持,但确实存在 fork that supports it

    3。尝试使用 Pinterest Like Adapter View 修改列表

    这个项目修改了一个更典型的列表,如果你已经在使用类似的东西,那么很容易加入。性能非常好,看起来也不错,但是这个项目也缺乏对 onItemClick 的支持。如果您可以像示例中那样在视图中使用按钮,那么这是一个非常可靠的选择。

    4。或使用Pinterest List View 尝试两个同步的列表视图

    该项目具有良好的支持水平,但存在一些性能问题。在使用 12 张以上中等分辨率照片的测试中,我开始看到延迟滚动。当快速向上或向下滚动时,您还可能会注意到两列之间出现一些意外的抖动。但是,如果您的列表像示例中那样简短而简单,则可以使用它来获得。

    【讨论】:

    • 我已经更新了库,但我仍然对交错的 gridview 有同样的问题。还有其他建议吗? @Okuma.Scott
    【解决方案2】:

    创建 StaggeredGridLayoutManager 并再次将布局管理器设置为回收器视图,然后设置适配器,如下所述

    staggeredGridLayoutManager=新的 StaggeredGridLayoutManager(2, 1); recyclerView.setLayoutManager(gaggeredGridLayoutManager);

    recyclerView.setAdapter(rcAdapter);
    rcAdapter.notifyDataSetChanged();

    【讨论】:

      猜你喜欢
      • 2018-04-17
      • 2017-08-20
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      相关资源
      最近更新 更多