首先要在build.gradle中添加compile 'com.github.userswlwork:pull-to-refresh:1.0.0'
根据提示改写最低版本
---------------------------------------------------------------------布局
注释<!--
ptr:ptrDrawable="@drawable/default_ptr_flip":刷新时显示的图片
ptr:ptrAnimationStyle="flip":刷新的图片以何种方式显示出来
ptr:ptrHeaderBackground="#383838":刷新时头部的布局
ptr:ptrHeaderTextColor="#FFFFFF":刷新时头部字体的颜色
还需要添加以下的命名空间
xmlns:ptr="http://schemas.android.com/apk/res-auto"
-->
<com.handmark.pulltorefresh.library.PullToRefreshListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/plv"
ptr:ptrDrawable="@drawable/default_ptr_flip"
ptr:ptrAnimationStyle="flip"
ptr:ptrHeaderBackground="#383838"
ptr:ptrHeaderTextColor="#FFFFFF"
></com.handmark.pulltorefresh.library.PullToRefreshListView>
-----------------------------------------------------------------初始化PullToRefreshListView
private PullToRefreshListView plv;
plv = findViewById(R.id.plv);
//设置模式 BOTH:支持上拉加载 下拉刷新 PULL_FROM_END:仅支持加载更多 PULL_FROM_START:下拉刷新
plv.setMode(PullToRefreshBase.Mode.BOTH);
//设置监听事件
plv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
//刷新回调
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
//上拉加载更多
}
});
/*这里通过getLoadingLayoutProxy 方法来指定上拉和下拉时显示的状态的区别,
第一个true 代表下来状态 ,第二个true 代表上拉的状态
如果想区分上拉和下拉状态的不同,可以分别设置*/
ILoadingLayout startLabels = plv.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("下拉刷新一下");
startLabels.setRefreshingLabel("正在玩命加载...");
startLabels.setReleaseLabel("放开我就刷新");
ILoadingLayout endLabels = plv.getLoadingLayoutProxy(false, true);
endLabels.setPullLabel("上拉刷新");
endLabels.setRefreshingLabel("正在载入...");
endLabels.setReleaseLabel("放开刷新...");