Android RecyclerView StaggeredGridLayoutManager 垂直顺序

标签 android android-recyclerview gridlayoutmanager

如何将 StaggeredGridLayoutManager 设置为先使用一列然后再使用另一列,而不是按左-右-左-右的顺序?我希望它对列表项的前半部分使用第一行,然后对后半部分使用第二行。

最佳答案

我认为没有专门的选项。

你应该自己处理:如果你想使用列表的前半部分作为左侧(偶数),列表的另一半作为右侧(奇数),你可以通过处理回调不同。

@Override
public void onBindViewHolder(ViewHolder holder, int position) {
    Object myObject;
    if(position % 2 == 0) {
        myObject = myList.get(position / 2);
    } else {
        myObject = myList.get(myList.size() / 2 + position / 2);
    }
    holder.bind(myObject); // display stuff.
}

您显然需要添加更多检查,但这将允许您使用列表前面和中间的数据填充 2 列。

关于Android RecyclerView StaggeredGridLayoutManager 垂直顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35064661/

相关文章:

Android:在模块 jetified-play-services-measurement 和 jetified-play-services-measurement-impl 中发现重复类

java - 强制停止阻塞读取 AsyncTask

android - 在Amazon App Store和Android Market上提交Android应用程序?

android - 需要一个关于 RecyclerView.Adapter.notifyItemChanged(int position, Object payload) 的例子

android - GridLayoutManager 自定义

android - 想要1KM范围内附近的位置信息

android - 尝试在 Activity 中打开时 Recycler View 崩溃

android - RecyclerView NotifyItemInserted

android - RecyclerView 网格布局管理器 : span count is defaulted to 1

android - RecyclerView 与 GridLayoutManager 和反向布局堆栈到底部