Pinterest的电网一样在Android中(Pinterest like Grid in And

2019-07-31 15:20发布

我想建立像在Pinterest的应用程序在Android上的网格。

我开始延伸出的AdapterView<ListAdapter>但我不能做很多事情的工作(例如反弹时的效果),所以,放弃的念头,延长后AbsListView ,现在我开始以为这是更好地扩展ListView并覆盖layoutChildren()方法。

你怎么看?

谢谢

Answer 1:

我们不会被任何外部的库这是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上链接



Answer 2:

我已经通过复制和更新Android的StaggeredGridView解决了这个。 https://github.com/maurycyw/StaggeredGridView 。 似乎创建你正在寻找的影响工作的伟大。 在此之前,直到我看到现在的实验StaggeredGridView我下楼复制Android的源到一个单独的库(这是我得到的工作)的兔子洞。 这是比我老的“BrickView”库的项目,所以我代替它要简单得多。



Answer 3:

AntipodalWall是一个独立的库旨在提供一个所谓的“砖石”网格为Android的布局(很像Pinterest的应用程序)。

检查这个项目AntipodalWall



Answer 4:

在我的项目我使用: https://github.com/GDG-Korea/PinterestLikeAdapterView

这是很容易使用它和它的内存消耗效率



文章来源: Pinterest like Grid in Android