我有一个设计需要像 View 上的顶部图像一样实现,底部有一个带有两个列的 GridView
。所以我计划使用 RecyclerView
来实现它。对于顶部,我需要使用 LinearLayoutManager
和 Bottom 它有 GridLayoutManager
。那么如何使用这两个值创建 Recycler Adapter。
假设您知道如何创建具有多种 View 类型的 RecyclerView 适配器,这就是您为 recyclerview 指定布局管理器的方式
mAdapter = new MyMultiViewAdapter(); // an imaginary adapter that supports multiple view types
mRecyclerView = (RecyclerView) findViewById(R.id.recycler_view);
GridLayoutManager glm = new GridLayoutManager(this, 2);
glm.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
switch(mAdapter.getItemViewType(position)){
case MyAdapter.TYPE_HEADER:
return 2;
case MyAdapter.TYPE_ITEM:
return 1;
default:
return -1;
}
}
});
mRecyclerView.setLayoutManager(glm);
mRecyclerView.setAdapter(mAdapter);
我是一名优秀的程序员,十分优秀!