這篇文章主要介紹了Android中如何判斷l(xiāng)istview是否滑動(dòng)到頂部和底部的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡(jiǎn)單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇Android中如何判斷l(xiāng)istview是否滑動(dòng)到頂部和底部文章都會(huì)有所收獲,下面我們一起來(lái)看看吧。
成都創(chuàng)新互聯(lián)2013年開(kāi)創(chuàng)至今,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元辰溪做網(wǎng)站,已為上家服務(wù),為辰溪各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):028-86922220頂部的判斷,根據(jù)listview中的第一個(gè)item距離listview頂部的距離是否為0。
底部的判斷,根據(jù)listview中的最后一個(gè)item的底部與第一個(gè)item的頂部的距離是否為整個(gè)listview的高度。
上面的兩個(gè)想法代碼實(shí)現(xiàn)如下:
private void setLiseners() { // listview設(shè)置滑動(dòng)監(jiān)聽(tīng) lsv_new_house.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView absListView, int i) { } @Override public void onScroll(AbsListView absListView, int firstVisibleItem, int visibleItemCount, int totalItemCount) { if(firstVisibleItem == 0){ View first_view = lsv_new_house.getChildAt(0); if(first_view != null && first_view.getTop() == 0){ // LogUtils.e("已經(jīng)滾動(dòng)到頂部了"); bl_down = true;// 可以下拉刷新了 }else { // LogUtils.e("還沒(méi)到頂部"); bl_down = false;// 未滑動(dòng)到頂部不讓下拉刷新 } } if(firstVisibleItem + visibleItemCount == totalItemCount){ View last_view = lsv_new_house.getChildAt(lsv_new_house.getChildCount() - 1); // LogUtils.e("height = " + lsv_new_house.getBottom());// 最后一個(gè)item的底部與listview第一個(gè)item頂部之間的距離 // int h = lsv_new_house.getHeight(); // LogUtils.e("h = " + h); if(last_view != null && last_view.getBottom() == lsv_new_house.getHeight()){ // LogUtils.e("已經(jīng)滾動(dòng)到最底部了"); bl_up = true;// 可以上拉加載了 }else { // LogUtils.e("還沒(méi)到底部"); bl_up = false;// 未滑動(dòng)到底部不讓上拉加載 } } } }); }
代碼都是很簡(jiǎn)單的,簡(jiǎn)單說(shuō)一下。獲取第一個(gè)item的view和最后一個(gè)item的view,并進(jìn)行相應(yīng)的判斷即可。
而且這樣判斷會(huì)更加的精確,因?yàn)橹灰狶istView中第一個(gè)item出現(xiàn)在屏幕上端,即使只出現(xiàn)一部分,firstVisibleItem 的值也依然為0, onScroll()回調(diào)就會(huì)發(fā)生; 同樣ListView 的最后一個(gè) item 即使只顯示一部分,((firstVisibleItem + visibleItemCount) == totalItemCount) 的值也是等于totalItemCount。
關(guān)于“Android中如何判斷l(xiāng)istview是否滑動(dòng)到頂部和底部”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“Android中如何判斷l(xiāng)istview是否滑動(dòng)到頂部和底部”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。