为什么ViewPager不会在RelativeLayout中滑动?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么ViewPager不会在RelativeLayout中滑动?相关的知识,希望对你有一定的参考价值。

将“线性布局”更改为“相对”布局后,滑动更改不起作用。

整个xml代码在这里。

<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">

    <android.support.v4.view.ViewPager
        android:id="@+id/singleSlider"
        android:layout_width="match_parent"
        android:layout_height="@dimen/slider_height"
        android:background="@color/colorPrimaryDark" />

    <android.support.v4.widget.NestedScrollView
        android:id="@+id/singleScroll"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        ...

    </android.support.v4.widget.NestedScrollView>

</RelativeLayout>

有什么问题?

它也不适用于Frame Layout。

有什么建议吗?

答案

NestedScrollView现在高于(z轴)ViewPager,所以ViewPager没有接收到触摸事件。加

android:layout_below="@+id/singleSlider"

到你的NestedScrollView

另一答案

我认为您的View-pager和NestedScrollView在使用Linear Layout之前会重叠。所以它逐一进行,但现在在相对布局中它是重叠的。使用layout_below属性

另一答案

现在你的嵌套滚动视图和你的视图寻呼机只是2个单独的东西,彼此不能确定你是否想要你的嵌套滚动视图中的视图寻呼机,或者如果你想在你的视图寻呼机内嵌套滚动所以我将显示视图嵌套滚动内部

<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">

    <android.support.v4.widget.NestedScrollView
        android:id="@+id/singleScroll"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.v4.view.ViewPager
        android:id="@+id/singleSlider"
        android:layout_width="match_parent"
        android:layout_height="@dimen/slider_height"
        android:background="@color/colorPrimaryDark" />

    </android.support.v4.widget.NestedScrollView>

</RelativeLayout>

然后当你调用你的滚动视图

你也可以设置

android:fillViewport="true"

在嵌套滚动视图上定义scrollview是否应拉伸其内容以填充视口

如果这不是你想要的,你可以展示模拟或显示你想要它如何运作的东西,我会相应地编辑我的答案

以上是关于为什么ViewPager不会在RelativeLayout中滑动?的主要内容,如果未能解决你的问题,请参考以下文章

使用viewpager时,片段不会全屏显示

Android TabLayout ViewPager 不会在 backstack 上膨胀标签片段

onActivityResult 不会从 viewPager 片段调用

如何知道片段何时在 viewpager 中实际可见

Android-ViewPager源码解析与性能优化

ViewPager PagerAdapter with cursor - CursorLoader.onLoadFinished 不会被不同的查询调用