Android TouchEvent修改

标签 android android-viewpager android-animation

我正在使用 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/

相关文章:

Android Facebook SDK 3.0 上传本 map 片

java - Android 中的 VideoView 无法正确播放视频

android - 使用 ViewPager 更改选项卡时重新创建 fragment

android - 如何在像谷歌加/谷歌报摊这样的滚动上为回收站设置动画?

android - 如何在 BackStack 上反转 fragment 动画?

android - Firebase添加具有指定名称的新 child

android - Android Studio 2.2 更新后转换项目

android - 切换 fragment 后保留上一个 fragment 的选项菜单

android - 如何获取viewPager上显示的当前图像的id

java - 使用自定义 View 中的共享元素启动 Activity