無感分頁!拒絕三方,拒絕上拉,簡單實現(xiàn)分頁加載 (附源碼)

本文為ListView的實現(xiàn)方式,
想要RecyclerView的實現(xiàn)方式,
可以克隆Bamboy合集的Git:
https://github.com/Bamboy120315/bamboy.git

在移動開發(fā)中,
上拉加載、分頁加載幾乎是隨處可見,
各種第三方控件也層出不窮,
但是我們真的需要第三方嗎?
第三方與我們的項目真的契合嗎?
用戶體驗一定好嗎?

現(xiàn)在就給大家分享下我的分頁加載,
我的方案不能稱之為上拉加載,
不是不能,
而是不需要。
看下效果就知道咯,
為了更直觀的表現(xiàn),
我把每一頁的條目用不同的顏色來代替:


這里寫圖片描述

可以發(fā)現(xiàn),
我的方案與一般的上拉加載最大的不同,
就是我的方案完全沒有阻塞,
只要不全部看完,
就一直暢通無阻。

而一般的都是還沒看幾條,
就會提示你再拉一下,
不但不友好,
體驗也不行。

好了,
介紹就到這里,
下面開啟干貨模式。

一、滑動加載
說得那么高大上,
是不是以為會很難很難?
其實不然,
關(guān)鍵只是一個監(jiān)聽而已。

// ListView滑動監(jiān)聽,滑動到倒數(shù)第三個條目即開始讀取下一頁內(nèi)容
AbsListView.OnScrollListener scrollListener = new AbsListView.OnScrollListener() {

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
        // 判斷是否快滾動到底部
        if (view.getLastVisiblePosition() >= view.getCount() - 4) {
            // 滾動到倒數(shù)第三個條目的時候,就開始讀取下頁內(nèi)容
            loadData();
        }
    }
};

lv_list.setOnScrollListener(scrollListener);

塵少一貫風(fēng)格,
就是這么簡單。

但是我要說的還沒說完,
既然我的優(yōu)勢是用戶體驗高,
那我就將我的優(yōu)勢繼續(xù)發(fā)揮咯。

二、狀態(tài)提示
細心地用戶會發(fā)現(xiàn),
我的列表底部有一行文字,
“已加載全部商品”,
但是這只是其中一種狀態(tài),
它有四個狀態(tài):

    1、正常狀態(tài)
          蓄勢待發(fā),
          隨時可以加載下一頁內(nèi)容

    2、正在加載
          正在讀取下一頁內(nèi)容,
          除非讀取結(jié)束,
          否則不會改變。
          
          更重要的功能是防止異步帶來的困擾,
          例如第三頁數(shù)據(jù)還沒回來,
          第四頁就又開始請求了,
          有了這個狀態(tài),
          只需要在網(wǎng)絡(luò)請求時做個小判斷,
          我們就可以不再為異步而頭疼了

    3、已加載全部
          當(dāng)所有數(shù)據(jù)都已讀取完畢,
          就是功德圓滿的時刻,
          一切結(jié)束不解釋。

    4、讀取異常
          這個其實很常見,
          服務(wù)器異常、
          網(wǎng)絡(luò)不暢等,
          這個時候這行文本就有了另一個功能,
          那就是點擊重新加載。
          
          是不是很清新脫俗、
          通俗易懂?

看到這里,
是不是很想立刻體驗一把呢?
廢話不多說,
塵少老規(guī)矩,
上源碼:
http://download.csdn.net/download/bamboy_/9736883

本文為ListView的實現(xiàn)方式,
想要RecyclerView的實現(xiàn)方式,
可以克隆Bamboy合集的Git,
更有全新的插件化列表哦:
https://github.com/Bamboy120315/bamboy.git
手機掃碼下載App一睹為快:

手機瀏覽器掃碼直接下載安裝

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容