RecyclerView(控件)

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));
		}
		
		//内部类ViewHolder
		class 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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值