首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在RecyclerView上使用StaggeredGridLayoutManager订购项目

在RecyclerView上使用StaggeredGridLayoutManager订购项目
EN

Stack Overflow用户
提问于 2018-04-10 14:02:58
回答 1查看 779关注 0票数 0

我正在创建一个应用程序,在该应用程序中,用户使用图像创建元素,并将其显示为列表。它看起来像Google,其中创建的元素不具有相同的高度,但宽度相同,分布在两列中。元素创建的顺序很重要,必须以这种方式从上到下排列。如照片中所示,每个数字表示元素创建的顺序,而不是按预期的方式排序。

交错视图

有什么方法可以定义元素的排序方式吗?我要点菜:

1 2

3 4

5

诸若此类。

这是我初始化RecyclerView、适配器和布局管理器的代码片段:

代码语言:javascript
复制
RecyclerView recyclerView = findViewById(R.id.recyclerView);
AdapterRecyclerView adapterRecyclerView = new AdapterRecyclerView(getContext(), list);
recyclerView.setAdapter(adapterRecyclerView );
StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
recyclerView.setLayoutManager(staggeredGridLayoutManager);

我已经试过了

代码语言:javascript
复制
staggeredGridLayoutManager.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_MOVE_ITEMS_BETWEEN_SPANS);

但没起作用,我也试过

代码语言:javascript
复制
staggeredGridLayoutManager.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_NONE);

但它没有显示任何东西,只是一个空白的布局。

编辑:任何其他的方式,这将被命名,一个库,另一个想法等。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-21 13:34:55

您可以尝试在元素上设置一个值,该值指示列表的位置和顺序,然后将其设置为适配器。我建议您使用长值,并在创建对象时使用System.currentTimeMillis()设置它,因此您将确保值是唯一的,并将准确指示何时创建。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49755683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档