初识SwipeRefreshLayout
2017-07-11 本文已影响68人
小白猿
异于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数据