(一)RecyclerView简单使用总结
2016-10-26 14:28
302 查看
谷歌推出Recyclerview的时间也不短了,今天就简单记录一下他的使用总结
第一步,我们都知道必须通过导入support-v7才能对其进行使用,studio的引入方式就是:compile 'com.android.support:recyclerview-v7:24.0.0'
第二步:adapter,adapter继承的是RecyclerView.Adapter。需要实现的三个方法是:
①onCreateViewHolder()
这个方法主要生成为每个Item inflater出一个View,但是该方法返回的是一个ViewHolder。该方法把View直接封装在ViewHolder中,然后我们面向的是ViewHolder这个实例,当然这个ViewHolder需要我们自己去编写。直接省去了当初的convertView.setTag(holder)和convertView.getTag()这些繁琐的步骤。
②onBindViewHolder()
这个方法主要用于适配渲染数据到View中。方法提供给你了一个viewHolder,而不是原来的convertView。通过这个holder我们能够直接拿到item中的view进行数据渲染
③getItemCount()
这个方法就类似于BaseAdapter的getCount方法了,即总共有多少个条目。
注意:item的布局文件,如果父布局高度是matchParent的话,每个item的高度就会是整屏那么大。此处一定要注意
第三步:渲染自己想要的效果
(1)、listview的效果(线性管理器):
recyclerview默认是没有分割线的,也没有driver属性,可以通过下边的方式添加分割线,系统默认的灰色线条,也可以改变分割线的样式,这里不做说明
(2)、gridview的效果(网格布局管理器):
(3)、接下来是重点了,瀑布流的效果(瀑布流式布局管理器):
此处需要注意:如果方向是垂直的就需要将item的父布局宽度设置为mp,否则出现的效果大家有兴趣了可以自己尝试;如果是水平,高度设置为mp。总之再用流式布局管理器的时候item的布局使用需要格外小心哈(下次有时间了可以补充上布局的问题,图文表述,方便大家理解同时也给自己加强下印象)
离我们心心念念的瀑布流只差一步了,很简单,那就是动态的设置item的宽高了,上代码:
仅此而已,优美的瀑布流的效果就出来了,有没有很简单啊。
第一步,我们都知道必须通过导入support-v7才能对其进行使用,studio的引入方式就是:compile 'com.android.support:recyclerview-v7:24.0.0'
第二步:adapter,adapter继承的是RecyclerView.Adapter。需要实现的三个方法是:
①onCreateViewHolder()
这个方法主要生成为每个Item inflater出一个View,但是该方法返回的是一个ViewHolder。该方法把View直接封装在ViewHolder中,然后我们面向的是ViewHolder这个实例,当然这个ViewHolder需要我们自己去编写。直接省去了当初的convertView.setTag(holder)和convertView.getTag()这些繁琐的步骤。
②onBindViewHolder()
这个方法主要用于适配渲染数据到View中。方法提供给你了一个viewHolder,而不是原来的convertView。通过这个holder我们能够直接拿到item中的view进行数据渲染
③getItemCount()
这个方法就类似于BaseAdapter的getCount方法了,即总共有多少个条目。
注意:item的布局文件,如果父布局高度是matchParent的话,每个item的高度就会是整屏那么大。此处一定要注意
第三步:渲染自己想要的效果
(1)、listview的效果(线性管理器):
//设置布局管理器 rv_recycler.setLayoutManager(new LinearLayoutManager(this)); //添加数据 rv_recycler.setAdapter(myadapter = new MyAdapter(this,list));
recyclerview默认是没有分割线的,也没有driver属性,可以通过下边的方式添加分割线,系统默认的灰色线条,也可以改变分割线的样式,这里不做说明
rv_recycler.addItemDecoration(new DividerItemDecoration(this,LinearLayout.VERTICAL));
(2)、gridview的效果(网格布局管理器):
//设置布局管理器,第二个参数是列数 rv_recycler.setLayoutManager(new GridLayoutManager(this,2)); rv_recycler.setAdapter(myadapter = new MyAdapter(this,list)); rv_recycler.addItemDecoration(new DividerGridItemDecoration(this));
(3)、接下来是重点了,瀑布流的效果(瀑布流式布局管理器):
//第一个参数和第二个参数是对应的,第二个是方向,第一个是对应的列数或者行数 rv_recycler.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)); rv_recycler.setAdapter(myadapter = new MyAdapter(this,list)); rv_recycler.addItemDecoration(new DividerGridItemDecoration(this));
此处需要注意:如果方向是垂直的就需要将item的父布局宽度设置为mp,否则出现的效果大家有兴趣了可以自己尝试;如果是水平,高度设置为mp。总之再用流式布局管理器的时候item的布局使用需要格外小心哈(下次有时间了可以补充上布局的问题,图文表述,方便大家理解同时也给自己加强下印象)
离我们心心念念的瀑布流只差一步了,很简单,那就是动态的设置item的宽高了,上代码:
ViewGroup.LayoutParams params = tv.getLayoutParams(); //设置图片的相对于屏幕的宽高比 params.width = AppUtils.getScreenDispaly(context)[0]/3; //随机计算出高度 params.height = (int) (200 + Math.random() * 400) ; tv.setLayoutParams(params);
仅此而已,优美的瀑布流的效果就出来了,有没有很简单啊。
相关文章推荐
- RecyclerView简单使用总结
- Android基础总结十二:RecyclerView简单使用
- Android L 新增UI控件:RecyclerView CardView的简单使用
- RecyclerView的简单使用
- Android之RecyclerView简单使用(三)
- RecyclerView.ItemDecoration 使用总结
- RecyclerView 使用总结(三):点击事件、GridView等、瀑布流、动态增删
- RecyclerView的简单使用
- RecyclerView 的简单使用步骤
- Android之RecyclerView简单使用(一)
- Android RecyclerView使用简单介绍
- RecyclerView 的简单使用
- RecyclerView 使用方法总结(一):RecyclerView的基本用法,及实现ListView
- Android RecyclerView 的简单使用
- Android新特性之RecyclerView的简单使用
- recyclerview的简单使用
- Recyclerview的简单使用
- Android之RecyclerView简单使用(完结篇)
- Android RecyclerView 的简单使用
- RecyclerView使用总结