scroller实现左右滑动代码
时间: 2023-09-11 15:04:32 浏览: 47
下面是一个简单的实现左右滑动的 Scroller 的代码示例:
```
public class MyScroller extends Scroller {
private int mLastX = 0;
public MyScroller(Context context) {
super(context);
}
public MyScroller(Context context, Interpolator interpolator) {
super(context, interpolator);
}
public MyScroller(Context context, Interpolator interpolator, boolean flywheel) {
super(context, interpolator, flywheel);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
final int action = ev.getAction();
final int x = (int) ev.getX();
switch (action) {
case MotionEvent.ACTION_DOWN:
if (!isFinished()) {
abortAnimation();
}
mLastX = x;
break;
case MotionEvent.ACTION_MOVE:
int dx = mLastX - x;
scrollBy(dx, 0);
mLastX = x;
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
}
```
这个 Scroller 在 `onTouchEvent` 方法中处理了触摸事件,通过计算当前触摸点和上一次触摸点的距离来滑动视图。其中 `scrollBy` 方法是 View 中的方法,用于滚动视图。你可以在你的视图中使用这个自定义的 Scroller 来实现左右滑动。