Android 有条件地将触摸事件传递到下方视图

Android 有条件地将触摸事件传递到下方视图,android,Android,我有一个布局层次结构,在ViewPager上有RelativeLayout,如: <FrameLayout> <ViewPager/> <RelativeLayout/> </FrameLayout> 我有一个视图。在RelativeLayout上,我有一个视图我想处理此视图层次结构上的TouchEvent。我想要的是,当用户开始沿Y轴滚动时,所有进一步的触摸事件都应该传递到RelativeLayout,或者当

我有一个布局层次结构,在
ViewPager
上有
RelativeLayout
,如:

<FrameLayout>

  <ViewPager/>       
  <RelativeLayout/>   

</FrameLayout>


我有一个
视图。在
RelativeLayout
上,我有一个
视图

我想处理此视图层次结构上的TouchEvent。我想要的是,当用户开始沿Y轴滚动时,所有进一步的触摸事件都应该传递到
RelativeLayout
,或者当用户开始沿X轴滚动时,触摸应该由
ViewPager

处理,似乎您需要将RelativeLayout放在ViewPager显示的片段中,否则它对UX没有意义,除非您已经有了类似底部表单的行为
ViewPager
已经有了单独的内容,并且
RelativeLayout
包含了一些视图,这些视图总是出现在
ViewPager
的顶部,我也稍微更新了这个问题。请查看是否相关。请参见
ViewGroup#oninterceptouchevent
您可以按照前面的评论中的建议使用
oninterceptouchevent
进行操作,但在交互方面没有真正意义。位于其他视图顶部的视图上的滑动/滚动事件不应向下传播,否则将其放置在其他视图的“顶部”没有任何意义。您似乎需要将相对位置放在ViewPager显示的片段中,否则它对用户体验没有意义,除非您具有类似底部的行为
ViewPager
已经有了独立的内容,
RelativeLayout
包含一些视图,这些视图总是出现在
ViewPager
的顶部,我也对问题进行了一些更新。请查看是否相关。请参见
ViewGroup#oninterceptouchevent
您可以按照前面的评论中的建议使用
oninterceptouchevent
进行操作,但在交互方面没有真正意义。位于其他视图顶部的视图上的滑动/滚动事件不应向下传播,否则将其放置在其他视图的“顶部”没有意义