onScrollChanged()
程序员文章站
2022-07-08 20:13:36
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出现了两次
上一篇: 那我建议你还是寄20元的吧