美文网首页android技术Android
RecyclerView使用StaggeredGridLayou

RecyclerView使用StaggeredGridLayou

作者: 带带我 | 来源:发表于2021-11-24 14:52 被阅读0次

一般做瀑布流用这个,就不说了,主要说一下下面这种布局


微信截图_20211124144651.png

设置适配器adapter

ManagerAdapter adapter = new ManagerAdapter(this, list);
recyclerView.setLayoutManager(new StaggeredGridLayoutManager(5, StaggeredGridLayoutManager.VERTICAL));
recyclerView.setAdapter(adapter);

主要是在adapter中为分组标题项设置宽度

    @NonNull
    @Override
    public MyHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        MyHolder myHolder = null;
        View view = null;
        //在使用recyclerview做不同布局,都是用getItemViewType()方法,这个真不用说了,viewType=0标题项
        if (viewType == 0){
            view = LayoutInflater.from(mContext).inflate(R.layout.item_title_layout, parent, false);
            //给itemView设置宽度就可实现上图UI
            StaggeredGridLayoutManager.LayoutParams params = new StaggeredGridLayoutManager.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
            params.setFullSpan(true);
            myHolder = new MyHolder(view);
            myHolder.itemView.setLayoutParams(params);
        } else if (viewType == 1){
            view = LayoutInflater.from(mContext).inflate(R.layout.item_content_layout, parent, false);
            myHolder = new MyHolder(view);
        }
        return myHolder;
    }

相关文章

网友评论

    本文标题:RecyclerView使用StaggeredGridLayou

    本文链接:https://www.haomeiwen.com/subject/qsbntrtx.html