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(純屬轉載,為廣大開發推薦好用的架構)