RecyclerView解析

RecyclerView  

 类似ListView 的  效果 可以提供    横向的 纵向的 ListView   横向的 纵向的   GridView    瀑布流View 实现效果

1. 添加依赖  (v7包下的 )

     compile ‘com.android.support:recyclerview-v7:24.0.0’

RecyclerView使用方法:

 1.  实例化 Layoutmanager

        LinearLayoutManager   线性的    相当于ListView

        GridLayoutManager     网格的    相当于GridView

        StaggerLayoutManager  瀑布流    

    RecyclerView设置  LayoutManager 决定  样式

2.设置Adapter

    Adapter 必须继承RecyclerView.Adapter <内部ViewHolder类>

    

    重写三个方法

    onCreateViewHolder    创建ViewHolder 对象 并实例化ItemView

    onBindViewHodler      使用holder 对象绑定数据

    getItemCount          返回List集合的长度

    

    内部ViewHolder 类 继承 RecyclerView.ViewHodler{}

    必须添加  含有super的 构造方法

    在ViewHolder 里声明并实例化itemView里面的每一个View

3.设置监听

    没有监听 需要 在Adapter  里面定义一个 interface    并填写监听方法   

    给itemView设置监听  并在监听中进行回调

4.设置分割线  

    设置RecyclerView 的 addItemDecoration   添加分割线

    分割线修改 values 文件夹下 styles  中的  android:listDivider 属性

5.下拉刷新

    使用外层套用SwipeReferenceLayout 来实现下拉刷新

6.上拉加载更多

    原理 :

    给RecyclerView 多添加一条Item 作为FooterView

    实现方式:

    使用RecyclerView设置onScrollListener  根据Adapter 获取 最后一条可见的position 判断是否是最后一条

    在Adapter 重写  getItemViewType  方式返回  itemView 的类型

    在onCreateViewHolder的时候返回不同的ViewHolder

    创建 两个ViewHolder  一个代表普通的 ItemViewHolder 一个代表FooterViewHolder

    进行数据绑定判断即可

CardView   compile ‘com.android.support:cardview-v7:24.0.0’

    有圆角和阴影的FrameLayout

    ViewGroup 直接设置属性即可

     android:foreground=”?android:attr/selectableItemBackground”   水波纹

        app:cardBackgroundColor=”@android:color/holo_blue_light”  背景色

        app:cardCornerRadius=”10dp”   角度

         app:cardElevation=”5dp   景深  阴影

    

    原文作者:zyf19930419
    原文地址: https://blog.csdn.net/zyf19930419/article/details/51854069
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞