[Android] ScrollView 的 MotionEvent 事件传递给另外一个 ListView

如题,滑动 ScrollView ,到某个临界点的时候(比如 ACTION_MOVE 到某个特殊点),ScrollView 不处理后续事件,转而将 MotionEvent 传递给另外一个 ListView (确切的说, ListView 是 ScrollView 的 Child View),希望能达到完美的滑动过渡效果。

具体情况是:

- ScrollView 
    - ViewPager
        - Fragment
            - ListView
        - Fragment
            - ListView

同网易云音乐客户端首页的效果,ScrollView 上下滑动,需要在与 ViewPager 的临界点上将相应的滑动交给 ViewPager 里 Fragment 中的 ListView 处理。

阅读 7.8k
1 个回答
  1. 重载 ScrollView.onInterceptTouchEvent(MotionEvent), 该函数主要是用来拦截手势的
  2. 在上述函数中, 判断是否到达上述临界点, 如果已经到达, 则下发TouchEvent给ListView, 否则, 由ScrollView自己来处理该TouchEvent
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题