2

我使用 StaggeredGridView 来显示像 Pintrest 列表视图这样的列表项。这是图书馆 链接

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

原来的 -在此处输入图像描述

滚动后 -在此处输入图像描述

4

2 回答 2

1

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

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

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

1.只需使用网格列表

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

2. 尝试使用交错网格视图的修改后的 GridView

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

3.尝试使用Pinterest 类似适配器视图的修改列表

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

4. 或者尝试使用Pinterest 列表视图的两个同步列表视图

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

于 2013-09-03T19:42:51.277 回答
0

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

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

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

于 2015-11-24T08:40:31.240 回答