public abstract boolean onScroll (MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
Added in
API level 1
Notified when a scroll occurs with the initial on down MotionEvent
and the current move MotionEvent
. The distance in x and y is also supplied for convenience.
Parameters
e1 | The first down motion event that started the scrolling. |
---|---|
e2 | The move motion event that triggered the current onScroll. |
distanceX | The distance along the X axis that has been scrolled since the last call to onScroll. This is NOT the distance between e1 ande2 . |
distanceY | The distance along the Y axis that has been scrolled since the last call to onScroll. This is NOT the distance between e1 ande2 . |
Returns
- true if the event is consumed, else false
e1 按下时的Event
e2 每次触发onScroll函数得到的的Event
distance是上一次的e2减去 当前e2得到的结果
float lastDistanceX;
<span style="color:#ffffff;">
</span>
手指按下时记录lastDistanceX的位置
<span style="white-space:pre"> </span>/**
* 在按下动作时被调用
*/
@Override
public boolean onDown(MotionEvent e)
{
Log.d("tag", "onDown---" + getActionName(e.getAction()));
lastDistanceX=e.getX();
return true;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
{
Log.d("pingcoo", "onScroll----->"+(lastDistanceX-e2.getX())+" distanceX="+distanceX);
lastDistanceX=e2.getX();
return true;
}
运行结果