l 代表滑動後當前ScrollView可視界面的左上角在整個ScrollView的X軸中的位置,oldl 也就是滑動前的X軸位置。 t 代表滑動後當前ScrollView可視界面的左上角在整個ScrollView的Y軸上的位置,old t也就是移動前的Y軸位置。 說這麼多還不如列印一遍log來得直觀 ...
轉載請標明出處:http://www.cnblogs.com/tangZH/p/8428100.html
onScrollChanged裡面有四個參數
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt)
它們代表什麼意思呢?
l 代表滑動後當前ScrollView可視界面的左上角在整個ScrollView的X軸中的位置,oldl 也就是滑動前的X軸位置。
t 代表滑動後當前ScrollView可視界面的左上角在整個ScrollView的Y軸上的位置,old t也就是移動前的Y軸位置。
說這麼多還不如列印一遍log來得直觀。
@Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { super.onScrollChanged(l, t, oldl, oldt); Log.e(TAG, "" + l + " " + t + " " + oldl + " " + oldt);
}
如下圖所示,當HorizontalScrollView向左滑動的時候,log列印如下:
HorizontalScrollViewAdapter: 27 0 0 0
HorizontalScrollViewAdapter: 57 0 27 0
HorizontalScrollViewAdapter: 83 0 57 0
HorizontalScrollViewAdapter: 110 0 83 0
HorizontalScrollViewAdapter: 110 0 83 0
HorizontalScrollViewAdapter: 147 0 110 0
有時候會出現 l 與 oldl 都沒變化的情況,就像上面的log顯示的,110 0 83 0出現了兩次