将触摸事件传递给 ScrollView 的父级

Passing touch events to ScrollView's Parent

我有一个类似这样的布局:

<FrameLayout>
   <ScrollView>
      <RelativeLayout>
      </RelativeLayout>
   </ScrollView>
</FrameLayout>

我希望 ScrollView 使用垂直手势正常工作 (scroll/fling) 并将水平手势传递给它的父级(FrameLayout 具有拖动功能并且在没有 ScrollView 的情况下也能正常工作)。

您可以尝试覆盖 onInterceptTouchEvent() 以将触摸事件传递给其父视图。供您参考,请阅读此 link https://developer.android.com/training/gestures/viewgroup.html

您需要创建一个新的 class 扩展 FrameLayout 和 ovverriding onInterceptTouchEvents 然后您可以执行您的逻辑并决定哪些事件必须发送到滚动视图以及哪些事件必须在 FrameLayout 内处理onTouchEvent

可以查看官方文档here