gpt4 book ai didi

android - Pinterest 类似于 Android 中的 Grid

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:16:17 24 4
gpt4 key购买 nike

我想构建一个类似于 Android 上 Pinterest 应用程序中的网格。

我开始扩展 AdapterView<ListAdapter>但是我不能让很多东西起作用(例如过度滚动效果)所以,在放弃扩展 AbsListView 的想法之后,现在我开始认为最好扩展 ListView并覆盖 layoutChildren()方法。

你怎么看?

谢谢

最佳答案

我们不需要任何外部库,因为 Android 的原生 RecyclerView 只需更改 RecyclerView 的布局管理器即可实现 Pinterest 砌体布局

mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
RecyclerAdapter adapter = new RecyclerAdapter(this);
mRecyclerView.setAdapter(adapter);

很酷。这很简单,但是我的 LinearLayout 上的边距似乎不起作用。所以这是一个快速修复。

SpacesItemDecoration decoration = new SpacesItemDecoration(16);
mRecyclerView.addItemDecoration(decoration);

SpacesItemDecoration 类:

public class SpacesItemDecoration extends RecyclerView.ItemDecoration {
private final int mSpace;

public SpacesItemDecoration(int space) {
this.mSpace = space;
}

@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
outRect.left = mSpace;
outRect.right = mSpace;
outRect.bottom = mSpace;

// Add top margin only for the first item to avoid double space between items
if (parent.getChildAdapterPosition(view) == 0)
outRect.top = mSpace;
}
}

Github link of example

my final Results

关于android - Pinterest 类似于 Android 中的 Grid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12442795/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com