Android GridLayoutManager.setSpanSizeLookup的使用介绍
Posted 路宇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android GridLayoutManager.setSpanSizeLookup的使用介绍相关的知识,希望对你有一定的参考价值。
前些天发现了一个蛮有意思的人工智能学习网站,8个字形容一下"通俗易懂,风趣幽默",感觉非常有意思,忍不住分享一下给大家。
👉点击跳转到教程
前言:
使用setSpanSizeLookup后的效果图如下
对应的Activity代码如下,setSpanSizeLookup的具体解释已经在代码中给出:
public class GrideActivity extends AppCompatActivity implements GrideAdapter.OnItemClickListener
private ActivityGrideBinding binding;
private GrideAdapter grideAdapter;
private List<GrideModel> grideModels = new ArrayList<>();
private static final String TAG = "GrideActivity";
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
binding = DataBindingUtil.setContentView(this, R.layout.activity_gride);
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3, RecyclerView.VERTICAL, false);
binding.rvList.setLayoutManager(gridLayoutManager);
for (int i = 0; i < 20; i++)
grideModels.add(new GrideModel("https://tse3-mm.cn.bing.net/th/id/OIP-C.ezHUw2d5cvio6idA9t5zCwHaEK?w=302&h=180&c=7&r=0&o=5&dpr=1.3&pid=1.7", "android开发"));
grideAdapter = new GrideAdapter(grideModels);
grideAdapter.setOnItemClickListener(this);
gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup()
@Override
public int getSpanSize(int position) //列表项的占位规则
Log.i(TAG, "getSpanSize,position:" + position);
//返回该item所占的份数 那么下标为4的item占三份,那么则占据整个屏幕的宽。
//注意一个item所占的份数,不能超过GridLayoutManager的spanCount
return (1 + position) % 7 == 0 ? 3 : 1;
);
binding.rvList.setAdapter(grideAdapter);
@Override
public void onItemClick(int position)
ToastUtils.showShort(position);
以上是关于Android GridLayoutManager.setSpanSizeLookup的使用介绍的主要内容,如果未能解决你的问题,请参考以下文章
android RecyclerView GridLayoutManager 多布局(每个Item带标题)
使用带有 GridLayoutManager 的 RecyclerView 的简单 Android 网格示例(如旧的 GridView)
Android,以GridLayoutManager和ImageView为单元格内容的RecyclerView不适合垂直空间
android RecyclerView pinch zoom,ScaleGestureDetector&GridLayoutManager,with BigImageViewer,kotli