onScrollChanged()方法解析

来源:互联网 发布:大数据分析工程师 编辑:程序博客网 时间:2024/04/28 14:03

onScrollChanged()方法

onScrollChanged(int l, int t, int oldl, int oldt)

This is called in response to an internal scroll in this view (i.e., the view scrolled its own contents). This is typically as a result of scrollBy(int, int) or scrollTo(int, int) having been called.


Parameters

l  Current horizontal scroll origin.

t  Current vertical scroll origin.

oldl  Previous horizontal scroll origin.

oldt  Previous vertical scroll origin.


以屏幕相对于,整个View的计算,如下图:

onScrollChanged()方法解析

上图是为实现半拉效果的自定义的HorizontalScrollView,在960*540分辨率的QHD手机上的模拟图。

当默认状态显示中间视图:

橙色为屏幕当前区域,而三个子View(宽度分别为270,540,270)构成了整个HorizontalScrollView,可见、、相对于整个View的(0,0),当前屏幕坐标为(270,0)

当从中间视图滑动到最左边,显示半拉效果时:

onScrollChanged()方法解析

l是一个从270到0越来越小的过程

当从中间视图滑动到最右边,显示半拉效果时:

onScrollChanged()方法解析

参数中的l是一个从270到540慢慢变大的过程。

0 0