onScrollChanged()

Posted 妖久

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了onScrollChanged()相关的知识,希望对你有一定的参考价值。

转载请标明出处: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出现了两次

 

以上是关于onScrollChanged()的主要内容,如果未能解决你的问题,请参考以下文章

Android 滚动视图 onScrollChanged

异步加载联系人列表中的图像

android:QQ多种側滑菜单的实现

微信小程序代码片段

android:QQ多种侧滑菜单的实现

VSCode自定义代码片段——CSS选择器