您的位置:首页 > 移动开发 > Android开发

Android studio 下拉刷新,加载更多使用LoadingViewFinal

2016-03-24 11:05 519 查看
Android studio已经普遍了,开发过程中会使用到下拉刷新和加载更多,类似PULL-to-Refresh,xrecyclerview,SwipeRefreshLayoutd
等等。

现在介绍下最近git找到的下拉刷新,加载更多,很实用(群218801658,小生只是转载,转载。)

支持ListView,GridView,REcyclerView,ScrollView,ExpandableListView等的下拉刷新和加载更多。

如图:


demo下载地址:



1.只介绍as怎么使用。

使用加载更多控件库

compile 'cn.finalteam.loadingviewfinal:loading-more-view:1.0.1'


采用SwipeRefreshLayout下拉刷新库

compile 'cn.finalteam.loadingviewfinal:swipe-refresh-layout:1.0.1'


采用UPTR下拉刷新

compile 'cn.finalteam.loadingviewfinal:ultra-pull-to-refresh:1.0.1'


Load More Footer样式

compile 'cn.finalteam.loadingviewfinal:loading-more-style:1.0.1'


如果你项目中使用了RecyclerView控件请添加

compile 'com.android.support:recyclerview-v7:23.2.1'//recyclerview随便哪个版本都可以,没有强制使用23.2.1


SwipeRefreshLayout和UPTR两个下拉刷新库可以二选一
2.代码详解


* 自动刷新

mPtrLayout.autoRefresh();



*
设置下拉刷新监听

mPtrLayout.setOnRefreshListener(new OnDefaultRefreshListener() {
@Override
public void onRefreshBegin(PtrFrameLayout frame) {
//发起下拉刷新请求
requestData(1);
}
});



*
设置加载更多事件监听

mRecyclerViewFinal.setOnLoadMoreListener(new OnLoadMoreListener() {
@Override
public void loadMore() {
//发起加载更多请求
requestData(mPage);
}
});



*
设置是否有更多

mRecyclerViewFinal.setHasLoadMore(true/false);



*
设置网络异常FooterView信息

mRecyclerViewFinal.showFailUI();



*
完成刷新或完成加载功能调用

if (page == 1) { //page == 1表示下拉下拉
mPtrRvLayout.onRefreshComplete();//完成下拉刷新
} else {
mRecyclerViewFinal.onLoadMoreComplete();//完成加载更多
}



*
自定义Load More View样式

设置自定义样式请在setAdapter之前。

AVLoadMoreView avLoadMoreView = LoadMoreStyle.getAVLoadMoreViewFactory(context);
avLoadMoreView.setIndicatorColor(getResources().getColor(R.color.colorPrimary));
avLoadMoreView.setIndicatorId(AVLoadingIndicatorView.BallPulse);
mRecyclerViewFinal.setLoadMoreView(avLoadMoreView);


设置没有更多了是否隐藏footerview

mRecyclerViewFinal.setNoLoadMoreHideView(true/false);//默认false不隐藏


注:onLoadMoreComplete()一定要在setHasLoadMore()和showFailUI()之后调用

具体GIT地址:https://github.com/pengjianbo/LoadingViewFinal(纯属转载,为广大开发推荐好用的框架)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息