欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

初识SwipeRefreshLayout

程序员文章站 2024-03-18 14:28:10
...

异于Mj大神MJRefresh的iOS的刷新框架,Android的刷新Google官方仅提供了下拉刷新控件SwipeRefreshLayout,功能略显单薄,可能是留给开发者进行*的定制,上拉加载更多需要自己手动去完成。
本文主要记述在HS2.0中杜小哥封装完成下拉控件的使用方法。

下拉刷新 SwipeRefreshLayout

原生的SwipeRefreshLayout使用很简单,官方封装好了UI层面,大致使用氛围布局中和在代码中监听

  • 布局中
    以下是一个完整的布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/sr_apple"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#00ff00">

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


</LinearLayout>

<android.support.v4.widget.SwipeRefreshLayout><android.support.v4.widget.SwipeRefreshLayout/>标签将需要添加刷新的空组件进行包裹,必要的要添加id属性

  • 设置控件
    本例中的刷新监听是放在Activity中

    • 新建一个 SwipeRefreshLayout类型属性备用,可以暂时赋值为null,或者不赋值
    • 在初始化view的方法中,对SwipeRefreshLayout进行赋值以及设置相关属性(属性暂时未能详细的了解,但是不影响基本的使用)
    • 添加监听: 方法还有有两种,一种是Activity实现SwipeRefreshLayout.OnRefreshListener接口,然后通过实现接口方法public void onRefresh(),在此种方式的设置监听时,一定要加上setOnRefreshListener(this)这个方法,参数为上下文,不然不会响应接口方法,另外一种是通过SwipeRefreshLayout直接设置监听,setOnRefreshListener.参数为一个监听实例,这里不再赘述
  • 调用方法
    已经在布局中设置了组件,也在Activity中设置了组件实例以及监听,当下滑时系统会自动调用监听方法,所以只要在监听方法中写好实现就行了,下拉刷新一般是从新获取一遍数据,取最新的前N条数据,然后通知刷新RecyclerView或者ListView数据