滚动视图在注入 AlertDialog 的布局中不起作用

Scrollview not working in layout injected into AlertDialog

我正在将布局注入 AlertDialog。

在这个布局中,我有一组视图,在这组下面,我有一个 TextView。

我需要最后一个 TextView 保持静止。但是以前的视图组应该是可滚动的。 所以我在第一个视图之前和 TextView 之前添加了一个 ScrollView(因为我不想包含它)。

此外,在我的视图组中,我有两个视图 "gone" 并且它们仅在我单击按钮时可见(效果很好)。

但是我的 scrollview 几乎没有动,所以我在需要的时候无法看到整个视图组。

谁能告诉我我做错了什么?

编辑: 我尝试使用此 post Issue when using Scrollview inside Dialog 但即使我的滚动视图正在工作,我也看不到我的最后一个 TextView(滚动视图之外的那个)了。

<?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"
    android:id="@+id/activityCameraParentCL"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp">

    <ScrollView
        android:id="@+id/activityCameraParametersSV"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent" >

        <androidx.constraintlayout.widget.ConstraintLayout
            android:id="@+id/activityCameraMainLL"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:scrollbarAlwaysDrawVerticalTrack="true">

            <LinearLayout
                android:id="@+id/activityCameraSerialNumberLL"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:paddingBottom="10dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="@id/activityCameraMainLL">

                <TextView
                    android:id="@+id/activityCameraSerialNumberTV"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="@string/activityCameraParametersSerialNumber"
                    android:textStyle="bold" />

                <EditText
                    android:id="@+id/activityCameraSerialNumberET"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="5" />
            </LinearLayout>

            <LinearLayout
                android:id="@+id/activityCameraModelNameLL"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:paddingBottom="10dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/activityCameraSerialNumberLL">

                <TextView
                    android:id="@+id/activityCameraModelNameTV"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="@string/activityCameraParametersModelName"
                    android:textStyle="bold" />

                <EditText
                    android:id="@+id/activityCameraModelNameET"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="5" />
            </LinearLayout>

            <androidx.constraintlayout.widget.ConstraintLayout
                android:id="@+id/activityCameraMarkerLL"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:paddingBottom="10dp"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/activityCameraModelNameLL">

                <TextView
                    android:id="@+id/activityCameraMarkerTV"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:text="@string/activityCameraParametersMarker"
                    android:textStyle="bold"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />

                <ImageButton
                    android:id="@+id/activityCameraMarkerInfoIB"
                    android:layout_width="20dp"
                    android:layout_height="30dp"
                    android:layout_marginTop="5dp"
                    android:backgroundTint="@color/black"
                    android:src="@drawable/ic_action_info"
                    app:layout_constraintStart_toEndOf="@id/activityCameraMarkerTV"
                    app:layout_constraintTop_toTopOf="parent" />

                <TextView
                    android:id="@+id/activityCameraMarkerYesButton"
                    android:layout_width="80dp"
                    android:layout_height="40dp"
                    android:gravity="center"
                    android:text="@string/yes"
                    android:textColor="@color/white"
                    app:layout_constraintEnd_toStartOf="@+id/activityCameraMarkerNoButton"
                    app:layout_constraintTop_toTopOf="parent" />

                <TextView
                    android:id="@+id/activityCameraMarkerNoButton"
                    android:layout_width="80dp"
                    android:layout_height="40dp"
                    android:layout_marginEnd="10dp"
                    android:gravity="center"
                    android:text="@string/no"
                    android:textColor="@color/white"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />

                <TextView
                    android:id="@+id/activityCameraMarkerInfoTV"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="20dp"
                    android:text="@string/activityCameraParametersMarkerInfo"
                    android:visibility="gone"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toBottomOf="@id/activityCameraMarkerTV" />

            </androidx.constraintlayout.widget.ConstraintLayout>

            <TextView
                android:id="@+id/activityCamera15CreditTV"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:paddingBottom="10dp"
                android:text="@string/activityCameraParameters15Credits"
                android:textAlignment="center"
                android:textColor="@android:color/holo_red_dark"
                android:textSize="12sp"
                android:visibility="gone"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/activityCameraMarkerLL" />

            <EditText
                android:id="@+id/activityCameraParametersDescriptionET"
                android:layout_width="match_parent"
                android:layout_height="100dp"
                android:hint="@string/edittext_hint"
                android:inputType="textMultiLine"
                android:minLines="2"
                android:overScrollMode="always"
                android:paddingBottom="10dp"
                android:scrollbarStyle="insideInset"
                android:scrollbars="vertical"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/activityCamera15CreditTV" />

            <LinearLayout
                android:id="@+id/activityCameraSpecimenLanguageLL"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="20dp"
                android:orientation="horizontal"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@id/activityCameraParametersDescriptionET">

                <TextView
                    android:id="@+id/activityCameraSpecimenLanguageTV"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="@string/activityCameraParametersSpecimenLanguage"
                    android:textStyle="bold" />

                <Spinner
                    android:id="@+id/activityCameraSpecimenLanguageSpinner"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1" />

            </LinearLayout>

        </androidx.constraintlayout.widget.ConstraintLayout>

    </ScrollView>

    <TextView
        android:id="@+id/activityCameraValidationTV"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="@string/validationBeforePursue"
        android:textAlignment="center"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/activityCameraParametersSV" />


</androidx.constraintlayout.widget.ConstraintLayout>

尝试使用 NestedScrollView 而不是常规的 ScrollView ?