我正在使用 ViewPager 尝试完成一些动画。其中之一试图从左向右滑动( View 寻呼机的默认过渡是从右向左)。我已经做到了。
我的问题是我想“破解”触摸事件,所以我不需要修改 View 寻呼机。例如,对于从左到右的过渡,我想在传递给 View 分页器的触摸事件中使用 X 进行某种镜像。
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
event.setX(Math.abs(event.getX() - getWidth());
return super.onInterceptTouchEvent(event);
}
最佳答案
我终于做到了。
public boolean dispatchTouchEvent(MotionEvent event) {
MotionEvent hackedEvent = MotionEvent.obtain(event.getDownTime(),
event.getEventTime(), event.getAction(), (event.getX() - getWidth()) * -1,
event.getY(), event.getMetaState());
boolean result = super.dispatchTouchEvent(hackedEvent);
hackedEvent.recycle();
return result;
};
关于Android TouchEvent修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18504921/