我试图找到一些非常具体的内容,但却无法在SO或Google中找到合适的答案。
我有一个ViewPager在滑动时显示片段(左侧< - >右侧),工作正常。
我需要整个屏幕来拦截向下滑动的触摸事件,并且ViewPager要保持拦截左右滑动。
基本上,如果用户向左滑动< - >在ViewPager上正确的方向,它正常处理它,但如果用户向下滑动(在ViewPager或其他任何地方),我需要触发其他行为。
我已经阅读了很多关于onInterceptTouchEvent()
的内容,但我真的不明白它是如何运作的......
这是我的viewpager_layout.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/dialog_root_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.design.widget.TabLayout
android:id="@+id/dialog_tablayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorDark"
app:tabSelectedTextColor="@color/colorPrimary"
app:tabIndicatorColor="@color/colorPrimary"
app:tabIndicatorHeight="1dp"/>
<android.support.v4.view.ViewPager
android:id="@+id/dialog_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorDark"/>
</LinearLayout>
</RelativeLayout>
我没有发布任何Java代码,因为它是ViewPager的简单实现,但如果您需要任何其他信息,我将很乐意编辑我的问题。
谢谢!