RecyclerView(控件)
来源:互联网 发布:找网络水军公司 编辑:程序博客网 时间:2024/05/23 00:41
1.在build.gradle配置文件中 引入
compile 'com.android.support:recyclerview-v7:23.2.1' 即可食用RecyclerView组件
2.创建一个RecyclerView的适配器
* public class MyAdapter extends RecyclerView.Adapter<MyViewHolder>
* 创建一个ViewHolder类来支持RecyclerViewAdapter的泛型支持
* 在RecyclerView中重点方法
onBindViewHolder() 绑定一个ViewHolder
onCreateViewHolder() 创建一个ViewHolder
注:传统的BaseAdapter会在getView() 中去创建ViewHolder 和对应的View去进行赋值, 而在RecyclerView.Adapter中
将这个过程分为了两步,由这两个方法实现创建ViewHolder和给View赋值 , 可见谷歌已经开始强制开发者使用ViewHolDer模式了。
3.RecyclerView中关键方法实现
*
// 创建ViewHolder的方法具体实现public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {View view = mInflater.inflate(R.layout.recycler_item,parent,false);MyViewHolder viewHolder = new MyViewHolder(view);return viewHolder;}//绑定数据源方法专注数据加载public void onBindViewHolder(MyViewHolder holder, int position) {holder.tv.setText(datas.get(position));}//内部类ViewHolderclass MyViewHolder extends RecyclerView.ViewHolder{TextView tv; //进行初始化public MyViewHolder(View itemView) { super(itemView); tv = (TextView) itemView.findViewById(R.id.id_tv); }}4.RecyclerView 的一些属性
* 设置RecyclerView的显示 类型
通过加载适配器和数据之后,如果想显示成ListView的样子就必须进行一下操作
创建一个线性布局管理者,通过初始化构造时,构造为纵向布局,在将布局管理者set 即可完成LinearLayoutManager linearLayoutManager = new LinearLayoutManager(MainActivity.this,LinearLayoutManager.VERTICAL,false);mRecyclerView.setLayoutManager(linearLayoutManager);* 设置RecyclerView的分割线背景
//设置RecyclerView的Item的分割线
mRecyclerView.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL_LIST));
5. 通过setLayoutManager来管理布局的显示,达到RecyclerView的真正强大之处!//ListView显示模式
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));//GridView显示模式mRecyclerView.setLayoutManager(new GridLayoutManager(this,3));//水平的GridView显示模式mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(5,StaggeredGridLayoutManager.HORIZONTAL));//瀑布流式显示模式mRecyclerView.setLayoutManager(new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL));
6.总结
* 通过LayoutManager 来实现 ListView GridView ,横向的ListView,GridView , 瀑布流的布局
* 通过ItemDecoration 来实现分隔线 实现的原理和如何定制
* ItemAnimator动画的使用
* 手动在Adapter中提供 Item click 和 Item OnClick 回调
0 0
- RecyclerView(控件)
- Android 新控件RecyclerView
- 常用控件(二) : RecyclerView
- 新控件 RecyclerView 用法
- UI控件RecyclerView浅析
- 学习RecyclerView控件
- Android5.0控件-RecyclerView
- RecyclerView控件的使用
- RecyclerView控件补充
- 高级控件 RecyclerView 总结
- android 控件 recyclerview
- Android控件—RecyclerView
- RecyclerView 控件使用
- RecyclerView控件学习01
- RecyclerView控件学习2
- RecyclerView粘性头部控件
- Android控件--RecyclerView
- RecyclerView控件的使用
- 监控系统大全
- (HDU 5831)2016 Multi-University Training Contest 8 Rikka with Parenthesis II(水?)
- 安装python numpy
- iOS面试题(一)
- JDBC中BLOB的用法
- RecyclerView(控件)
- Retrofit1文件上传
- hibernate中二级缓存配置详细解析
- 常用算法之:选择排序(C语言版)
- Python 字符串前面加'r'
- 关于用ST-Link V2下载出现internal command error和keil无法识别ST—LINK的问题解决法法如下
- Win7下安装linux双系统
- myeclipse egit不能pull解决
- Objective-C Autorelease Pool 的实现原理