Android RecyclerView设置下拉刷新的实现方法

 更新时间:2017年10月09日 10:40:08   投稿:lqh  
这篇文章主要介绍了Android RecyclerView设置下拉刷新的实现方法,希望通过本文通过SwipeRefreshLayout方式实现下拉刷新,需要的朋友可以参考下

Android RecyclerView设置下拉刷新的实现方法

1 集成 SwipeRefreshLayout

1.1 xml布局文件中使用

<android.support.v4.widget.SwipeRefreshLayout
  android:id="@+id/refresh"
  android:layout_width = "match_parent"
  android:layout_height = "match_parent" >

  <android.support.v7.widget.RecyclerView
    android:id = "@+id/rv_list"
    android:layout_width = "match_parent"
    android:layout_height = "match_parent"
    android:background = "#FF504F4F" />

</android.support.v4.widget.SwipeRefreshLayout >

1.2 设置下拉刷新样式

SwipeRefreshLayout swipeRefreshView = (SwipeRefreshLayout) findViewById(R.id.refresh);
// 设置颜色属性的时候一定要注意是引用了资源文件还是直接设置16进制的颜色,因为都是int值容易搞混
// 设置下拉进度的背景颜色,默认就是白色的
swipeRefreshView.setProgressBackgroundColorSchemeResource(android.R.color.white);
// 设置下拉进度的主题颜色
swipeRefreshView.setColorSchemeResources(R.color.colorAccent, R.color.colorPrimary, R.color.colorPrimaryDark);

1.3 设置下拉刷新加载监听

final Handler handler = new Handler();
// 下拉时触发SwipeRefreshLayout的下拉动画,动画完毕之后就会回调这个方法
swipeRefreshView.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
  @Override
  public void onRefresh() {

    // 开始刷新,设置当前为刷新状态
    //swipeRefreshLayout.setRefreshing(true);

    // 这里是主线程
    // 一些比较耗时的操作,比如联网获取数据,需要放到子线程去执行
    new Thread(){
      @Override
      public void run () {
        super.run();
        //同步加载网络数据 
        //加载数据 完毕后 关闭刷新状态 切回主线程
        handler.postDelayed(new Runnable() {
          @Override
          public void run() {

            // 加载完数据设置为不刷新状态,将下拉进度收起来
            swipeRefreshView.setRefreshing(false);
          }
        }, 100);
      }
    }.start();


  }
});

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • 详解Flutter 响应式状态管理框架GetX

    详解Flutter 响应式状态管理框架GetX

    这篇文章主要为大家介绍了Flutter 响应式状态管理框架GetX详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 当Flutter遇到节流与防抖的思路和流程优化

    当Flutter遇到节流与防抖的思路和流程优化

    这篇文章主要给大家介绍了关于当Flutter遇到节流与防抖的思路和流程优化的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • Android序列化接口Parcelable与Serializable接口对比

    Android序列化接口Parcelable与Serializable接口对比

    我们使用 Intent 传递数据的时候,putExtra() 所支持的数据类型事有限的,当需要传递自定义对象的时候就需要序列化。Serializable更简单但是会把整个对象进行序列化因此效率比Parcelable低一些
    2023-02-02
  • android  指纹识别调用实现方法及示例代码

    android 指纹识别调用实现方法及示例代码

    这里主要介绍Android 指纹识别的简单实现代码,希望能帮助开发这部分应用的朋友,有需要的小伙伴可以参考下
    2016-09-09
  • 解析ScrollView--仿QQ空间标题栏渐变

    解析ScrollView--仿QQ空间标题栏渐变

    本篇文章主要介绍了仿QQ空间标题栏渐变的实现方法的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-05-05
  • Android ListView 滚动条的设置详解及实例代码

    Android ListView 滚动条的设置详解及实例代码

    这篇文章主要介绍了 ListView等滚动条的设置详解详解及实例代码的相关资料,需要的朋友可以参考下
    2017-02-02
  • 浅析Android中的visibility属性

    浅析Android中的visibility属性

    以下是对Android中的visibility属性进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08
  • Android中的相对路径实例详解

    Android中的相对路径实例详解

    这篇文章主要介绍了android中的相对路径,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • Android实现环形进度条代码

    Android实现环形进度条代码

    这篇文章主要为大家详细介绍了Android实现环形进度条的代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • Android编程之简单启动画面实现方法

    Android编程之简单启动画面实现方法

    这篇文章主要介绍了Android编程之简单启动画面实现方法,结合实例形式较为详细的分析了开机启动画面的制作步骤及布局、Activity跳转、权限控制等的相关操作技巧,需要的朋友可以参考下
    2016-11-11

最新评论