1. 程式人生 > >View的canVerticalScroll函式研究和應用

View的canVerticalScroll函式研究和應用

(1)computeVerticalScrollOffset():

已經向下滾動的距離,為0時表示已處於頂部。

(2)computeVerticalScrollRange():

整體的高度,注意是整體,包括在顯示區域之外的。

(3)computeVerticalScrollExtent():

顯示區域的高度。

圖示如下:


對比圖示很容易知道:

當Offset大於0時,可以繼續下拉,當Offset等於0時,不可以。

當Range大於Offset加上Extent時,可以繼續上拉,當Range等於Offset加上Extent時,不可以。

(可以看到上面判斷上拉時多減了一個1,是因為計算過程中有些float和int的轉換,多減個1是為了保險起見,最多也就是吃掉view一個畫素的高度而已