如何在recyclerview gridlayout管理器中设置自定义位置?

问题描述 投票:1回答:1

我有十二个项目。我将recyclerview和GridLayoutmanager一起使用来显示项目。我当前的代码

  RecyclerView.LayoutManager layoutManager = new GridLayoutManager(this,2, GridLayoutManager.HORIZONTAL, false);
        recyclerViewSlots.setLayoutManager(layoutManager);

已提供以下格式List of items

我想以以下格式显示项目。

List of items

android android-layout android-recyclerview
1个回答
1
投票

您可以通过以下两种方式来做到这一点:网格布局管理器和要传递给网格适配器的对象列表。

因此,如果您具有适配器分配的完整代码如下:

List<Integer> numbers = new ArrayList();
for (int i = 1; i <= 12; i++) {
    numbers.add(i);
}
YourGridAdapter adapter = new YourGridAdapter(numbers);

RecyclerView.LayoutManager layoutManager = new GridLayoutManager(this,2, GridLayoutManager.HORIZONTAL, false);

RecyclerView recyclerView = findViewById(R.id.recyclerViewSlots);
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(layoutManager);

然后您可以将其更改为:

List<Integer> numbers = new ArrayList();
for (int i = 1; i <= 12; i++) {
    numbers.add(i);
}
Collections.reverse(numbers);
YourGridAdapter adapter = new YourGridAdapter(numbers);

RecyclerView.LayoutManager layoutManager = new GridLayoutManager(this,2, GridLayoutManager.HORIZONTAL, true);

RecyclerView recyclerView = findViewById(R.id.recyclerViewSlots);
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(layoutManager);

如果这不满足您的需要,并且您有固定数量的项目,您还可以考虑使用GridLayout并将所有12个视图放入其中,并在xml中进行手动定位。

© www.soinside.com 2019 - 2024. All rights reserved.