在StaggeredGridView(PinterestListView)中向上和向下滚动时,列可以向下偏移一些距离

时间:2013-08-26 10:27:26

标签: android android-listview listadapter pinterest viewgroup

我使用StaggeredGridView来显示像Pintrest列表视图这样的列表项。 This is the library link

但是,第二列在向上和向下滚动时下降。

原创 - enter image description here

滚动后 - enter image description here

2 个答案:

答案 0 :(得分: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

的修改列表

这个项目修改了一个更典型的List,如果你已经在使用类似的东西,很容易就可以了。性能非常活泼,看起来很好,但是这个项目也没有onItemClick支持。如果您可以通过在示例中使用视图中的按钮,那么这是一个非常可靠的选项。

4。或者使用Pinterest List View

尝试两个同步列表视图

这个项目有很好的支持,但是它遇到了一些性能问题。我开始在12+中等分辨率照片的测试中看到滞后滚动。当您快速向上或向下滚动时,您也可能会注意到两列之间出现了一些意外的混乱。但是,如果您的列表很简单,就像示例中那样简单,那么您可以使用它。

答案 1 :(得分:0)

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

  

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

     

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