如何在Android中的RecyclerView中添加LinearLayout Manager和GridLayout Manager

Ren*_*nan 3 android recycler-adapter android-recyclerview

我需要一个设计来实现像View上的Top图像,底部有GridView两个coloumns.所以我打算用它来实现它RecyclerView.顶部我需要使用它LinearLayoutManager和它的底部GridLayoutManager.那么如何使用这两个值创建Recycler Adapter.

Muc*_*low 14

假设您知道如何使用多种视图类型创建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);
Run Code Online (Sandbox Code Playgroud)