日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ListView已到底部和顶部的判断

發(fā)布時(shí)間:2024/4/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ListView已到底部和顶部的判断 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、 理解Android坐標(biāo),位置概念
坐標(biāo)系在二維視圖中通過X軸和Y軸兩個(gè)數(shù)字為組合表示某個(gè)點(diǎn)的絕對坐標(biāo)。 例如(30, 100) 通常表示X軸30, Y軸100交叉的一個(gè)點(diǎn)。 在Android中以左上角為原點(diǎn)(0,0),水平方向是X軸,從左到右,垂直方向是Y軸,從上到下,可以把left相當(dāng)于X軸值, top相當(dāng)于Y軸值, 通過這兩個(gè)值A(chǔ)ndroid系統(tǒng)可以知道視圖的繪制起點(diǎn),在通過Wdith 和 Height 可以得到視圖上下左右具體值,就可以在屏幕上絕對位置繪制視圖。right 與 bottom計(jì)算如下:
right = left + width;
bottom = top + height;


二、 View中相應(yīng)API
view.getLeft()表示的是view左側(cè)以其父View的左上角為原點(diǎn)的水平坐標(biāo)位置 ;
view.getRight()表示的view右側(cè)以其父View的左上角為原點(diǎn)的水平坐標(biāo)位置 ;
view.getTop()表示的是view頂部以父View的左上角為原點(diǎn)的垂直坐標(biāo)位置 ;
view.getBottom()表示的是view底部以父View的左上角為原點(diǎn)的垂直坐標(biāo)位置 ;
view.getWidth()表示view寬度;
view.getHeight()表示view高度 ;


1>ListView已到頂部的判斷

<span style="font-size:18px;"> public boolean isListViewReachTopEdge(final ListView listView) {boolean result=false;if(listView.getFirstVisiblePosition()==0){final View topChildView = listView.getChildAt(0);result=topChildView.getTop()==0;}return result ;}</span>
注:view的getTop()表示的是該View的頂部到父控件的左上角的垂直距離。
當(dāng)ListView的第一個(gè)child View的getTop()為零時(shí),就表示ListView已經(jīng)滾動到頂部了或已經(jīng)在頂部不能在向上滑動了


2>ListView已到底部的判斷

<span style="font-size:18px;">public boolean isListViewReachBottomEdge(final ListView listView) {boolean result=false;if (listView.getLastVisiblePosition() == (listView.getCount() - 1)) {final View bottomChildView = listView.getChildAt(listView.getLastVisiblePosition() - listView.getFirstVisiblePosition());result= (listView.getHeight()>=bottomChildView.getBottom());};return result;}</span>
注:view的getBottom()表示的是該View底部到父控件的左上角的垂直距離
當(dāng)ListView的最后一個(gè)child View的getBottom()小于等于ListView的getHeight()時(shí),就表示ListView滾動到底部或已經(jīng)在底部了,不能再向下滑動了。

關(guān)于View的getLeft, getRight, getTop, getBottom更多內(nèi)容請參考點(diǎn)擊打開鏈接

總結(jié)

以上是生活随笔為你收集整理的ListView已到底部和顶部的判断的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。