天天看點

Android studio 下拉重新整理,加載更多使用LoadingViewFinal

Android studio已經普遍了,開發過程中會使用到下拉重新整理和加載更多,類似PULL-to-Refresh,xrecyclerview,SwipeRefreshLayoutd 等等。

現在介紹下最近git找到的下拉重新整理,加載更多,很實用(群218801658,小生隻是轉載,轉載。)

支援ListView,GridView,REcyclerView,ScrollView,ExpandableListView等的下拉重新整理和加載更多。

如圖:

Android studio 下拉重新整理,加載更多使用LoadingViewFinal

demo下載下傳位址:

Android studio 下拉重新整理,加載更多使用LoadingViewFinal

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