将NestedScrollView转换为垂直ViewPager:滚动无法正常工作

时间:2018-08-08 17:43:54

标签: android android-viewpager android-nestedscrollview

我有一个垂直的ViewPager。每个页面包含NestedScrollView的一些元素。如果我在NestedScrollView之外滑动,效果很好,但是如果我在NestedScrollView中滑动,则ViewPager的垂直滚动不起作用。

我的巢:

<android.support.v4.widget.NestedScrollView
                android:id="@+id/scroll_view"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:paddingTop="6dp"
                android:paddingBottom="6dp"
                android:clipToPadding="false"
                android:overScrollMode="never">

我也这样设置设置:

scrollView.setNestedScrollingEnabled(false);

您能帮我吗?非常感谢你!

1 个答案:

答案 0 :(得分:1)

使用requestDisallowInterceptTouchEvent,以便不允许孩子拦截触摸事件。

yourViewPager.setOnTouchListener(new View.OnTouchListener() {

    @Override
        public boolean onTouch(View v, MotionEvent event) {
        yourViewPager.getParent().requestDisallowInterceptTouchEvent(true);
        return false;
    }
});

有关更多参考,请参见此requestDisallowInterceptTouchEvent