DDu*_*man 48 android layout-manager android-recyclerview
所以我想要的是交错布局,但列表中的第一项需要跨越两列.前两行也是固定高度.除了第一个项目跨越两列,我的一切都在工作.
我正在使用带有StaggeredGridLayoutManager的RecyclerView.Adapter.似乎不是开箱即用的功能.我假设我可以制作一个自定义布局管理器我不知道从哪里开始.我尝试过搜索,但我找不到任何关于如何让项目跨越多列的信息.
下面的图片是我在列表中寻找的内容.
mat*_*ato 50
目前,StaggeredGridLayoutManager
仅支持跨越所有列的视图(对于垂直配置的布局),而不支持任意数量的列.
如果您仍希望在所有列中跨越它们,则应在适配器实现中执行此操作:
public final void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) {
StaggeredGridLayoutManager.LayoutParams layoutParams = (StaggeredGridLayoutManager.LayoutParams) viewHolder.itemView.getLayoutParams();
layoutParams.setFullSpan(true);
}
Run Code Online (Sandbox Code Playgroud)
恕我直言,StaggeredGridLayoutManager
仍在大力发展,谷歌希望我们用它来反馈:(
我为跨垂直配置的布局跨越所有列所做的是LayoutParams
在适配器实现中创建new 并将full span设置为true:
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder viewHolder, int position) {
StaggeredGridLayoutManager.LayoutParams layoutParams = new StaggeredGridLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
layoutParams.setFullSpan(true);
viewHolder.itemView.setLayoutParams(layoutParams);
}
Run Code Online (Sandbox Code Playgroud)