欢迎来到天天文库
浏览记录
ID:16424922
大小:184.00 KB
页数:13页
时间:2018-08-09
《android 推荐几款好用的开源作品(二)之万能recyclerview适配器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Android推荐几款好用的开源作品(二)之万能RecyclerView适配器前言:RecyclerView出现已经有一段时间了,我们肯定不陌生了,可以通过导入support-v7对其进行使用。根据官方的文档,该控件用于在有限的窗口中展示大量数据集,其实有了它就可以替代ListView、GridView了。了解RecyclerView架构,可以高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDecoration,ItemAnimator可以实现的想要的效果。1、首先介绍几种LayoutManager[jav
2、a]viewplaincopy在CODE上查看代码片派生到我的代码片LinearLayoutManagermManager=newLinearLayoutManager(mContent);LinearLayoutManagermManager=newLinearLayoutManager(mContent,LinearLayoutManager.VERTICAL,false);//垂直布局,true表示左右翻转,false不翻转GridLayoutManagermManager=newGridLayoutManager(mContent
3、,3);GridLayoutManagermManager=newGridLayoutManager(mContent,3,LinearLayoutManager.HORIZONTAL,false);//每行3列,水平,true表示左右翻转,false不翻转mRecyclerView.setLayoutManager(mManager);2、RecycleView简单使用[java]viewplaincopy在CODE上查看代码片派生到我的代码片//初始化控件mRecyclerView=findView(R.id.id_recyclerv
4、iew);//设置布局管理器mManager=newLinearLayoutManager(mContent);mRecyclerView.setLayoutManager(mManager);//设置adaptermRecyclerView.setAdapter(mAdapter)//设置Item增加、移除动画mRecyclerView.setItemAnimator(newDefaultItemAnimator());//添加分割线mRecyclerView.addItemDecoration(newDividerItemDecora
5、tion(getActivity(),DividerItemDecoration.HORIZONTAL_LIST));3、接下来介绍的就是RecyclerView的适配器了,同样,RecyclerView和ListView,GridView一样需要adapter来填充数据,同样,自定义一个adapter需要继承RecyclerView.Adapter,代码需要实现几个父类方法onCreateViewHolder,onBindViewHolder,getItemCount(),根据名字就能知道:(1)onCreateViewHolder:主
6、要返回的是拿到布局,进而返回ViewHolderreturnnewViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.list_cell,null));(2)onBindViewHolder:拿到ViewHolder中的控件对其赋值操作(3)getItemCount():返回数组的size()[java]viewplaincopy在CODE上查看代码片派生到我的代码片publicclassMyAdapterextendsRecyclerView.Adap
7、ter{classViewHolderextendsRecyclerView.ViewHolder{TextViewtvTitle,tvContent;publicViewHolder(ViewitemView){super(itemView);tvTitle=(TextView)itemView.findViewById(R.id.tv_title);tvContent=(TextView)itemView.findViewById(R.id.tv_content);}}@OverridepublicRecyclerView.ViewH
8、olderonCreateViewHolder(ViewGroupparent,intviewType){returnnewViewHolder(LayoutInflater.from(par
此文档下载收益归作者所有