【问题标题】:How to get onTouch to be called on a view behind a ViewPager?如何在 ViewPager 后面的视图上调用 onTouch?
【发布时间】:2016-07-22 04:14:47
【问题描述】:

我有一个ViewPager 后面的视图。此视图使用OnTouchListener 垂直上下滑动。当显示部分视图时,这可以正常工作,但我想这样做,以便用户可以从ViewPager 的顶部向下滑动以显示此视图。我试过子类化ViewPager 并在onInterceptTouchEvent 中返回false,但它不起作用。我还尝试将此OnTouchListener 添加到ViewPager 本身作为hack,但这也不起作用。

下面的图片代表了我想要实现的目标。

ViewPager 后面的折叠视图

从 ViewPager 后面滑动视图

这是我一直在测试的简单布局代码:

 <?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:layout_width="match_parent"
     android:layout_height="match_parent">
     <View
          android:id="@+id/content"
          android:background="@android:color/black"
          android:layout_width="match_parent"
          android:layout_height="match_parent"/>
     <android.support.v4.view.ViewPager
          android:id="@+id/viewPager"
          android:layout_width="match_parent"
          android:layout_height="128dp" />
 </RelativeLayout>

【问题讨论】:

    标签: android android-viewpager ontouchlistener


    【解决方案1】:

    尝试在 ViewPager 的触摸事件上模拟 View 的触摸事件,按照此模拟触摸事件, How to programmatically trigger the touch event in android?。 让我知道这是否有效。

    【讨论】:

    • 我基本上在ViewPager 中添加了一个onTouchListener 来做与它背后的视图完全相同的事情。我以为我之前这样做过,但我实际上将onTouchListener放在它的父视图上(布局确实比上面的xml更复杂,我只是做了一个booboo):/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多