【问题标题】:Prevent viewpager from moving when multi-touch防止多点触控时查看器移动
【发布时间】:2012-12-09 21:49:48
【问题描述】:

我有一个 ViewPager 图像,我希望能够使用它进行一些多点触控工作。这包括捏缩放和旋转,这两者都是双指操作。当我执行这些操作时,ViewPager 开始来回移动,一旦开始,它就会中断我正在进行的任何操作。

由于我想为某些操作保留两指手势,我只希望 ViewPager 在单指按下时做出反应。如何控制寻呼机滑动需要多少个手指?还是我必须禁用 ViewPager 的内置手势检测并自己编写?

【问题讨论】:

    标签: android android-viewpager


    【解决方案1】:

    您必须覆盖ViewPageronTouchEvent 方法。

    在您获得的MotionEvent 中,您应该检查手指的数量。如果它只有 1 则调用 super,如果不是,则随心所欲。

    编辑: 你可以通过event.getPointerCount()查看手指的数量。

    【讨论】:

    • 理想情况下会很好,但不幸的是,由于超级调用必须是第一个语句,我无法在此之前检查点数。
    • super 只能在构造函数中排在第一位。
    • @RotemThis 似乎根本不起作用。 onTouchEvent() 在整个页面滑动过程中被多次调用。当我实现这一点时,为了防止多点触摸页面滑动,强制只进行一次触摸工作,应用程序在进行多点触摸时崩溃。我正在这样做... if (ev.getPointerCount() == 1) { return super.onTouchEvent(ev); } 其他 { 返回真; }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多