特定子项具有焦点时禁用ViewPager滚动

时间:2016-06-04 16:45:13

标签: android android-viewpager gesturedetector

我知道有几个答案描述了如何锁定ViewPager

但是我希望我的ViewPager只有在特定孩子没有触摸时才能滚动。

那么我怎样才能过滤"知道哪些儿童观点被触及?

我想如何锁定ViewPager的示例代码:

for (Integer resource:mResources) {
        if(resource.intValue()==view.getId()){
            touchTriggeredOnView(view.getId());
        }
    }

我想这样做的原因是,我有一个自定义视图需要检测fling手势。 此自定义视图是Fragment的子级,FragmentViewPager的子级。

所以:ViewPager - > Fragment - > CustomView

我能够检测到DOWN内的FLING而非CustomView事件。

我认为ViewPager会抓住FLING事件 - >坏事。

我希望我的问题足够明确。

1 个答案:

答案 0 :(得分:2)

Android中的

onTouchgesture listeners具有布尔返回值,用于指示是否消耗了事件(触摸,触发,点击)。

ViewPager可能会消耗" Fling"事件,但是你可以在ViewPager中覆盖onTouch,手势监听器并返回false - 因此不会消耗触摸事件并将其传递给自定义视图。