Android 滚动片段中灵活内容的布局问题

Android Layout problem with flexible content in a scrolling fragment

我在为以下情况创建 Android 布局时遇到问题: 它是一个片段,顶部有一个 webview,下面有一些其他布局组件。 webview 本身不应该是可滚动的。孔片段应该是可滚动的。为了更好地可视化,这里有一张图片。

webview 和 recyclerview 高度灵活,具体取决于内容。 webview 和 recylerview 应该总是在不滚动的情况下显示所有内容。孔片段应该是可折叠的。

我尝试了几种滚动视图、嵌套滚动视图和约束布局的组合。但是大多数时候我的 webview 没有显示。

我的问题是:这个布局组件应该如何嵌套以及组件高度的正确选项是什么(match_parent, ....)?

这是我最近尝试的一个例子。未显示网络视图。

<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView
    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:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:fillViewport="true"
    android:requiresFadingEdge="vertical"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <WebView
            android:id="@+id/webView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scrollbars="vertical"
            app:layout_constraintBottom_toTopOf="@+id/txtSimilarTopics"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <View
            android:id="@+id/scrollToTopHelper"
            android:layout_width="100dp"
            android:layout_height="150dp"
            app:layout_constraintBottom_toBottomOf="@+id/webView"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent" />

        <TextView
            android:id="@+id/txtSim"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginStart="16dp"
            android:layout_marginTop="32dp"
            android:layout_marginEnd="16dp"               
            android:textColor="@color/colorBlack"
            android:textSize="20sp"
            android:textStyle="bold"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/webView"
            tools:text="Ähnliche Themen" />

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/rv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/txt"
            tools:itemCount="3"
             />
    </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.core.widget.NestedScrollView>

所以这不是布局问题。我的问题是由网页上的 JavaScript 错误引起的。这就是页面未显示的原因。