如何在scrollView中添加WebView滚动

时间:2019-03-16 19:39:36

标签: android android-layout android-fragments android-intent

我需要在列表中显示多个项目,并在最后添加一个WebView。

我添加了RecyclerView和WebView,并将它们都放在ScrollView中。 这工作正常,但是在webview中没有显示滚动。

我需要在Web视图中进行垂直滚动。

这是我的代码。

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/Title"
    >


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

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/rvMatchday"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <WebView
            android:layout_width="match_parent"
            android:layout_height="300dp"
            android:layout_gravity="bottom"
            android:scrollbars="vertical"
            android:background="@color/black"
            android:id="@+id/twitterWebView"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/rvMatchday" />


    </LinearLayout>

</ScrollView>

然后我创建了一个父布局文件,并在其中添加了上面的布局。

<ScrollView
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:fillViewport="true"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

   <include layout="@layout/fragment_match"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</ScrollView>

3 个答案:

答案 0 :(得分:2)

在活动/片段上,将Web视图设置为可滚动

webView.setVerticalScrollBarEnabled(true);

答案 1 :(得分:0)

我认为您不需要以滚动视图为根,因为回收者视图和Web视图具有自己的滚动效果。只需尝试使用Linear作为根

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

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/rvMatchday"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        />

    <WebView
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:background="@color/black"
        android:id="@+id/twitterWebView"
       />


</LinearLayout>

答案 2 :(得分:0)

您不需要在layout.xml文件和父布局文件中使用滚动视图。 喜欢

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

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/rvMatchday"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <WebView
            android:layout_width="match_parent"
            android:layout_height="300dp"
            android:layout_gravity="bottom"
            android:scrollbars="vertical"
            android:background="@android:color/black"
            android:id="@+id/twitterWebView"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/rvMatchday" />
             </LinearLayout>

和父级布局

    <android.support.constraint.ConstraintLayout
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:fillViewport="true"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <include layout="@layout/fragment_match"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</android.support.constraint.ConstraintLayout>