RecyclerView分别展示ListView,GrideView,瀑布流效果之总结

首先我们看一下主要的代码:

这个是展示listView效果的:

//创建适配器对象 参数一般有两个 上下文 和 数据加载集合
        RecylerViewAdapter recylerViewAdapter=new RecylerViewAdapter(this,dates);
        // 1 设置适配器
        mRecyclerView.setAdapter(recylerViewAdapter);

        //布局管理器所需参数,上下文
        LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this);

        //B 通过布局管理器,可以控制条目排列顺序  true:反向显示  false:正常显示(默认)
        linearLayoutManager.setReverseLayout(isversion);

        //C 设置RecyclerView显示的方向,是水平还是垂直!! LinearLayoutManager.VERTICAl(默认) false
        linearLayoutManager.setOrientation(orientation ? LinearLayoutManager.VERTICAL: LinearLayoutManager.HORIZONTAL);

        //设置布局管理器 , 参数 linearLayout
        mRecyclerView.setLayoutManager(linearLayoutManager);

这是展示grideView效果的:

//创建适配器对象  参数一般有两个,上下文和数据加载集合
        RecyclerViewGridAdapter recyclerViewGridAdapter = new RecyclerViewGridAdapter(this, dates);
        // 1 设置适配器
        mRecyclerView.setAdapter(recyclerViewGridAdapter);

        //布局管理器所需参数,上下文
        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);

        //B 通过布局管理器,可以控制条目排列顺序  true:反向显示  false:正常显示(默认)
        gridLayoutManager.setReverseLayout(isversion);

        //C 设置RecyclerView显示的方向,是水平还是垂直!! GridLayoutManager.VERTICAL(默认) false
        gridLayoutManager.setOrientation(orientation ? GridLayoutManager.VERTICAL: LinearLayoutManager.HORIZONTAL);

        //设置布局管理器 , 参数 linearLayout
        mRecyclerView.setLayoutManager(gridLayoutManager);

这个是展示瀑布流效果的代码:

//创建适配器对象  参数一般有两个,上下文和数据加载集合
        RecyclerViewStaggeredGridAdapter recyclerViewStaggeredGridAdapter = new RecyclerViewStaggeredGridAdapter(this, dates);
        // 1 设置适配器
        mRecyclerView.setAdapter(recyclerViewStaggeredGridAdapter);
        //E  布局管理器所需要的参数  参数1 规定显示几列  参数2 指定item排列方式
        StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2, orientation ? StaggeredGridLayoutManager.VERTICAL : StaggeredGridLayoutManager.HORIZONTAL);

        //通过布局管理器可以控制条目排列顺序  true:方向  false:正常显示
        staggeredGridLayoutManager.setReverseLayout(isversion);

        //2 设置布局管理器,参数GridLayoutManager,可以使
        mRecyclerView.setLayoutManager(staggeredGridLayoutManager);

现在我们再看一次这三个代码,楼主发现都是先创建适配器(三个适配器除了名字不同之外,其他的代码一致!!),然后都需要布局管理器!!

         ListView需要的是LinearLayoutManager

        GrideView需要的是GridLayoutManager

       瀑布流需要的是StaggeredGridLayoutManager

细究针对布局管理器的代码:我们不难发现他们使用方法不一样:

LinearLayoutManager参数:就是上下文

GridLayoutManager参数:上下文 和 列数

StaggeredGridLayoutManager参数:列数 和 item的排列方式(这里和前两个不同,这里直接提价item的排列方式,值得注意!!)






评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值