【问题标题】:Android capture all motion events and dispatch them to childrenAndroid 捕获所有运动事件并将它们发送给孩子
【发布时间】:2012-06-15 16:16:42
【问题描述】:

好的,这让我头疼了一个多小时。我在 ViewFlipper 中有几个 ScrollView。我想在让滚动视图滚动的同时实现向左/向右滑动手势。这个想法很简单——拦截事件和viewflipper,解析它并将它传递给孩子,不管发生了什么。这样我就可以轻松检测到滑动而不会弄乱事件。

理论上我所要做的就是处理 onTouch 或类似的东西并返回 false,因此事件将被分派给孩子。但是 Android 非常聪明,如果我返回 false,他不会发送我的任何其他事件,而不是 ACTION_DOWN,因为它认为我不想要它们。

那么,我怎样才能捕获所有到达 ViewFlipper 及其子级的运动事件并仍将它们分派给子级?我可以自己检测滑动。

【问题讨论】:

    标签: android touch scrollview viewflipper swipe


    【解决方案1】:

    Android 对这类事情非常讨厌。您必须按照您需要的方式子类化和实现 dispatchTouchEvent。或者你可以抓取一些安卓代码并修改它。我尝试使用 onInterceptTouchEvent() 但发现它无法使用。

    【讨论】:

      【解决方案2】:

      查看onInterceptTouchEvent() 的视图组,如果您希望分析视图翻转器上的触摸并返回 false 以将操作传递给子视图。查看以下链接了解更多信息。

      http://developer.android.com/reference/android/view/ViewGroup.html#onInterceptTouchEvent(android.view.MotionEvent)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-16
        • 2011-09-03
        • 1970-01-01
        • 2021-01-07
        • 1970-01-01
        • 2014-02-14
        • 1970-01-01
        • 2022-08-03
        相关资源
        最近更新 更多