使用RecyclerView实现简单的横向滑动

最近在Android群里面,看到挺多人都在用RecyclerView。好奇的我也去看了看如何使用。做了个小Demo,虽然知道RecyClerView 的文章已经烂大街了。但是想写篇文章总结一下(毕竟自己写的是自己的,别人写的是别人的)。

介绍:  RecyclerView 不仅可以轻松实现 Listview 同样的效果 并且还能轻松实现 (瀑布,横向滑动) 效果。 并且Android 开发团队,将RecyclerView 定义在了 Support  库当中,所以如果你想使用RecyclerView 的话就必须先导入 相应的依赖库。

1. 编写xml代码以及加入依赖

(1).先导入最重要的 "依赖" !

compile'com.android.support:recyclerview-v7:25.1.0'


(2).写好RecyclerView的xml布局

使用RecyclerView实现简单的横向滑动_第1张图片
Activity_RecyclerView_xml

(3). 俺们再写好RecyclerView的 Item 的 xml布局

使用RecyclerView实现简单的横向滑动_第2张图片
Activity_RecyclerView_Item_xml

2.ok 俺们已经把最基础的xml文件代码已经完成现在开始编写java代码把!

(2.1)  编写MainActivity.java

使用介绍:

(2.1.1)如果你想实现 RecyClerView 横向滑动功能只需要,使用 RecyClerView 线性布局管理器 LinearLayoutManager ,方法调用 setOrientation() , 来控制使用什么样的布局样式,如果你想实现横向滑动的话就使用 setOrientation(LinearLayoutManager.HORIZONTAL);。

在setOrientation的方法中有3种布局样式分别是:

(1)  HORIZONTAL 最常使用的横向布局

(2) VERTICAL 跟ListView一致的竖向布局

(3)  INVALID_OFFSET 偏移布局

并且在LinearLayoutManager 线性布局管理器(自己的理解)之外 RecyclerView还存在了GridLayoutManager 网格布局管理器 和

StaggerredGridLayoutManager  瀑布流布局管理器。可以使用他们实现不同的布局样式哦。

现在我们设置好一个布局样式后再使用 setLayoutManager 把设置好的布局样式添加到 RecyClerView 中然后在调用适配器,添再在把返回的数据,添加到RecyClerView 就完成啦,废话不多说直接开始撸代码吧!


下方是Activity.java代码↓

@Override

protected void onCreate(Bundle savedInstanceState) {

   super.onCreate(savedInstanceState);

  setContentView(R.layout.recycleview);

  recy=(RecyclerView)findViewById(R.id.reyview);

  getData();  //获取 RecyClerView 适配器 需要的数据

 initData();  // 加载数据的方法

}

private voidgetData() {//虚拟数据

  datadatas=null;

  for(inti=0;i<=10;i++) {

  datas=newdata();

  datas.setId(i);

  list.add(datas);

}

}

private voidinitData() {

  //     LinearLayoutMannager 是一个布局排列 , 管理的接口,子类都都需要按照接口的规范来实现。

  LinearLayoutManager ms= new LinearLayoutManager(this);

  ms.setOrientation(LinearLayoutManager.HORIZONTAL);// 设置 recyclerview 布局方式为横向布局

  //     LinearLayoutManager 种 含有3 种布局样式  第一个就是最常用的 1.横向 , 2. 竖向,3.偏移

  recy.setLayoutManager(ms);  //给RecyClerView 添加设置好的布局样式

  orAdapter oap=new orAdapter(list);  //初始化适配器

  recy.setAdapter(oap);  // 对 recyclerview 添加数据内容

}



适配器介绍:

    RecyClerView 的适配器 和 ListView 的适配器还是很相识的,但是和ListView的适配器简洁了许多。由于RecyclerView 的适配器继承与 RecyclerView.Adapter 方法 所以我们必须重写 3个方法,并且需要指定泛型为  orAdapter.ViewHolder (orAdapter为自己的类名)。其中ViewHodler是我们在orAdapter 定义的一个内部类。(个人感觉很像把BaseAdatper的getView分成了2个部分)。

适配器中所有方法

1.onCreateViewHoder;  为ViewHodler 赋予一个xml 界面

2.onBindViewHolder;  用来给控件赋值

3.getItemCount ;  让我们知道RecyclerView 一共有多少个子项.

4.orViewHolder ViewHolder 内部类

适配器代码:

使用RecyclerView实现简单的横向滑动_第3张图片
RecyclerView_Adapter


到这里就完事儿拉,是不是觉得很简单。



你可能感兴趣的:(使用RecyclerView实现简单的横向滑动)