recyclerVIew的使用笔记

原创 2016年08月30日 21:30:23

根据官方的介绍RecylerView是ListView的升级版,既然如此那RecylerView必然有它的优点,现就RecylerView相对于ListView的优点罗列如下:
①RecylerView封装了viewholder的回收复用,也就是说RecylerView标准化了ViewHolder,编写Adapter面向的是ViewHolder而不再是View了,复用的 逻辑被封装了,写起来更加简单。

②提供了一种插拔式的体验,高度的解耦,异常的灵活,针对一个Item的显示RecylerView专门抽取出了相应的类,来控制Item的显示,使其的扩展性非常强。例如:你想控制横向或者纵向滑动列表效果可以通过LinearLayoutManager这个类来进行控制(与GridView效果对应的是GridLayoutManager,与瀑布流对应的还有StaggeredGridLayoutManager等),也就是说RecylerView不再拘泥于ListView的线性展示方式,它也可以实现GridView的效果等多种效果。你想控制Item的分隔线,可以通过继承RecylerView的ItemDecoration这个类,然后针对自己的业务需求去抒写代码。
共计有三种布局管理器可以设置给recycler使用 Lin饿啊人LayoutManager GrideLayoutManager,StaggeredGridLayoutManager(交错布局—瀑布流:不断寻找布局中的最低点与最窄的地方,然后根据比例缩放图片)
LinearLayoutManager layoutManager = new LinearLayoutManager(this );
//设置布局管理器
recyclerView.setLayoutManager(layoutManager);
//设置为垂直布局,这也是默认的
layoutManager.setOrientation(OrientationHelper. VERTICAL);

③可以控制Item增删的动画,可以通过ItemAnimator这个类进行控制,当然针对增删的动画,RecylerView有其自己默认的实现。mRecyclerView.setItemAnimator(new DefaultItemAnimator());

//代码

recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
LinearLayoutManager layoutManager = new LinearLayoutManager(this );
//设置布局管理器
recyclerView.setLayoutManager(layoutManager);
//设置为垂直布局,这也是默认的
layoutManager.setOrientation(OrientationHelper. VERTICAL);
//设置Adapter
recyclerView.setAdapter( recycleAdapter);
//设置分隔线
recyclerView.addItemDecoration( new DividerGridItemDecoration(this ));
//设置增加或删除条目的动画
recyclerView.setItemAnimator( new DefaultItemAnimator());

//适配器
recyclerView有自己特定的适配器recyclerView.adapter,这是一个抽象类要使用这个类需要去实现它里面方法

 ①onCreateViewHolder()实现了复用--类似于getview
**这个方法主要为每个Item inflater出一个View,但是该方法返回的是一个ViewHolder。该方法把View直接封装在ViewHolder中,然后我们面向的是ViewHolder这个实例,当然这个ViewHolder需要我们自己去编写。直接省去了当初的convertView.setTag(holder)和convertView.getTag()这些繁琐的步骤。**

②onBindViewHolder()–给view指定数据
这个方法主要用于适配渲染数据到View中。方法提供给你了一个viewHolder,而不是原来的convertView。
③getItemCount()
这个方法就类似于BaseAdapter的getCount方法了,即总共有多少个条目。
实例:接着来几个小的实例帮助大家更深入的了解RecyclerView的用法,首先来实现一个最简单的列表,

public class MyRecyclerAdapter extends RecyclerView.Adapter

RecyclerView的基本使用方法

1.RecyclerView的使用方法(使用的Android Studio开发) 首先是recyclerview的配置问题,recyclerview是要导入android.support.v7.wi...
  • Javacainiao931121
  • Javacainiao931121
  • 2016年06月18日 09:26
  • 12286

Android RecyclerView 使用完全解析 体验艺术般的控件

Android RecyclerView 使用完全解析 概述 RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用。 据官方的介绍...
  • lmj623565791
  • lmj623565791
  • 2015年04月16日 09:07
  • 840398

安卓中RecyclerView的使用

1.创建一个主布局文件,里面只有FrameLayout,用于放置所要托管的活动:activity_main.xml: xml version="1.0" encoding="utf-8"?> Fra...
  • u010273007
  • u010273007
  • 2017年05月02日 16:39
  • 427

RecyclerView的基本使用方法

作为ListView的豪华加强版,Android支持库中的RecyclerView具有诸多优点。 本篇博客主要用于记录RecyclerView的基本使用方法。...
  • Gaugamela
  • Gaugamela
  • 2017年01月21日 15:22
  • 643

优雅实现RecyclerView多种布局

要优雅就要符合 开闭原则,当增加新的类型事只能扩展不能修改源代码。 package com.muiltityitem.adapter; import android.content.Contex...
  • qq909157370
  • qq909157370
  • 2017年01月12日 18:09
  • 515

RecyclerView使用详解

RecyclerView是Android 5.x版本中新添加的一个全新控件,他比ListView,GridView更加的灵活,我们能够使用RecyclerView就完成ListView,GridVi...
  • My_First_ID
  • My_First_ID
  • 2016年05月10日 14:20
  • 985

Android开发之RecyclerView的使用全解

转自 http://blog.csdn.net/dmk877/article/details/50816933 自Android 5.0之后,谷歌公司推出了RecylerView控件,...
  • skykingf
  • skykingf
  • 2016年03月08日 14:50
  • 105537

RecyclerView使用完全指南,是时候体验新控件了(一)

官方介绍,RecyclerView用于在有限的窗口展现大量的数据,其实早已经有了类似的控件,如ListView、GridView,那么相比它们,RecyclerView有什么样优势呢? Recycle...
  • xiaohanluo
  • xiaohanluo
  • 2016年08月12日 15:22
  • 5157

Android RecyclerView使用(一) 基本使用

RechclerView简介。RecyclerView比listview更先进更灵活,对于很多的视图它就是一个容器,可以有效的重用和滚动。 1.可以通过设置LayoutManager可以实现Listv...
  • RaphetS
  • RaphetS
  • 2016年04月25日 23:04
  • 1239

Android开发之RecyclerView的使用全解

转载请注明出处:http://blog.csdn.net/dmk877/article/details/50816933      强者不是没有眼泪,而是含着眼泪依然奔跑。    ...
  • it_guang
  • it_guang
  • 2017年02月12日 08:58
  • 465
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:recyclerVIew的使用笔记
举报原因:
原因补充:

(最多只允许输入30个字)