SmartRefreshLayout支持:Listview、GridView、Recyclerview,
甚至TextView等等几乎所有控件的刷新
使用方法:
1.引入依赖:
compile 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.4-7'
2.在Application里面做初始化操作
static {
//设置全局的Header构建器
SmartRefreshLayout.setDefaultRefreshHeaderCreater(new DefaultRefreshHeaderCreater() {
@Override
public RefreshHeader createRefreshHeader(Context context, RefreshLayout layout) {
// 设置头的属性
ClassicsHeader header = new ClassicsHeader(context);
// 设置背景颜色
header.setPrimaryColorId(R.color.C6);
// 设置字体颜色
header.setAccentColorId(R.color.wihle);
// 设置字体大小
header.setTextSizeTitle(15);
return header;
}
});
//设置全局的Footer构建器
SmartRefreshLayout.setDefaultRefreshFooterCreater(new DefaultRefreshFooterCreater() {
@Override
public RefreshFooter createRefreshFooter(Context context, RefreshLayout layout) {
//指定为经典Footer,默认是 BallPulseFooter
//设置脚的属性
ClassicsFooter footer = new ClassicsFooter(context);
// 设置背景颜色
footer.setPrimaryColorId(R.color.C6);
// 设置字体颜色
footer.setAccentColorId(R.color.wihle);
// 设置字体大小
footer.setTextSizeTitle(15);
return footer;
}
});
}
3.在布局文件activity_main.xml中使用
4.在MainActivity中使用
package com.zhh.android;
import android.app.Activity;
import android.os.Bundle;
import com.orhanobut.logger.Logger;
import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import com.scwang.smartrefresh.layout.api.RefreshLayout;
import com.scwang.smartrefresh.layout.listener.OnLoadmoreListener;
import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
public class MainActivity extends Activity {
// 这个控件极端的强大,连TextView都能使用
private SmartRefreshLayout smartRefreshLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
smartRefreshLayout = (SmartRefreshLayout) findViewById(R.id.smartRefreshLayout);
smartRefreshLayout.setEnableRefresh(true);//是否启用下拉刷新功能
smartRefreshLayout.setEnableLoadmore(true);//是否启用上拉加载功能
smartRefreshLayout.setReboundDuration(100);//回弹动画时长
smartRefreshLayout.setEnableAutoLoadmore(false);//是否启用列表惯性滑动到底部时自动加载更多
// 下拉刷新
smartRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
@Override
public void onRefresh(RefreshLayout refreshlayout) {
// 刷新
Logger.t("111").d("下拉刷新");
smartRefreshLayout.finishRefresh();//结束刷新
}
});
// 上拉加载
smartRefreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() {
@Override
public void onLoadmore(RefreshLayout refreshlayout) {
// 上拉加载
Logger.t("111").d("上拉加载");
smartRefreshLayout.finishLoadmore();//结束加载
}
});
}
}
源码下载:
https://download.csdn.net/download/zhaihaohao1/10850312
github地址:
https://github.com/scwang90/SmartRefreshLayout