NestedScrollView内ViewPager内的ScrollView不滚动

时间:2019-10-16 13:11:04

标签: android scrollview android-nestedscrollview

我有一个包含嵌套ScrollView的活动。在此NestedScrollView内有一个ViewPager。每个页面都有一个包含ScrollView的视图。最里面的滚动视图根本不滚动。 如何在最里面的ScrollView中启用滚动行为

这是Activity的xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <androidx.core.widget.NestedScrollView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <androidx.viewpager.widget.ViewPager
                android:id="@+id/pager"
                android:layout_width="match_parent"
                android:layout_height="300dp" />

            <ImageView
                android:layout_width="400dp"
                android:layout_height="400dp"
                android:layout_marginTop="10dp"
                android:src="@drawable/ic_launcher_background" />

            <ImageView
                android:layout_width="400dp"
                android:layout_height="400dp"
                android:layout_marginTop="10dp"
                android:src="@drawable/ic_launcher_background" />

            <ImageView
                android:layout_width="400dp"
                android:layout_height="400dp"
                android:layout_marginTop="10dp"
                android:src="@drawable/ic_launcher_background" />

            <ImageView
                android:layout_width="400dp"
                android:layout_height="400dp"
                android:layout_marginTop="10dp"
                android:src="@drawable/ic_launcher_background" />
        </LinearLayout>
    </androidx.core.widget.NestedScrollView>

</androidx.constraintlayout.widget.ConstraintLayout>

这是视图分页器的xml

    <?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    android:orientation="vertical">
    <ImageView
        android:id="@+id/image"
        android:layout_width="match_parent"
        android:layout_height="800dp" />

</androidx.core.widget.NestedScrollView>

3 个答案:

答案 0 :(得分:0)

在您的android:fillViewport="true"中添加NestedScrollView。希望问题能得到解决

答案 1 :(得分:0)

scrollview仅在内部有内容且占据视图的所有宽度时才滚动。然后您就可以滚动

答案 2 :(得分:0)

  

如果您在此处添加xml文件,它将更加容易   也,   尝试在Activity中添加滚动视图,并在viewPager持有的视图中添加嵌套滚动视图   也尝试添加

fillViewPorty = true

在顶部滚动视图中