Ami*_*ari 3 android gridlayoutmanager android-recyclerview
我必须创建一个异构的RecyclerView.默认列数为2,但某些项目需要全宽.我这样使用它StaggeredGridLayoutManager是这样的:
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
int viewType = getItemViewType(position);
FeedItems currentItem = getItem(position);
StaggeredGridLayoutManager.LayoutParams layoutParams = (StaggeredGridLayoutManager.LayoutParams) holder.itemView.getLayoutParams();
switch (viewType) {
case ITEM_TYPE_HEADER:
final HeaderItem headerItem = currentItem.getHeaderItem();
layoutParams.setFullSpan(true);
}
}
Run Code Online (Sandbox Code Playgroud)
我如何为GridLayoutManager做同样的事情,我可以根据不同的视图类型轻松切换范围?
有一种方法void setSpanSizeLookup (GridLayoutManager.SpanSizeLookup spanSizeLookup).像这样使用它:
mLayoutManager = new GridLayoutManager(getActivity(), 2);
mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
switch(mAdapter.getItemViewType(position)){
case 1:
return 1;
case 2:
return 2;
default:
return -1;
}
}
});
mRecyclerView.setLayoutManager(mLayoutManager);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1229 次 |
| 最近记录: |