Android RecyclerView StaggeredGridLayoutManager 垂直顺序
Android RecyclerView StaggeredGridLayoutManager vertical order
如何将 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 列。
如何将 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 列。