将 ScrollView Activity 与 adjustPan 结合使用时为空白 space

Blank space when using ScrollView Activity in combination with adjustPan

我的线性布局占用了太多空间 space。所以我决定把它放在 ScrollView 里面。

布局底部有一个 EditText 供用户输入。为了使布局在 AndroidManifest.xml 中自行调整 Activity 的大小,我输入:

android:windowSoftInputMode="adjustPan"

当我只有线性布局时没问题,但现在结合滚动视图我得到一个空白 space,我认为 Android 正在尝试 space为键盘。

Layout.xml:

<ScrollView android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">
<androidx.appcompat.widget.LinearLayoutCompat
    android:isScrollContainer="false"
    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"
    android:orientation="vertical"
    tools:context=".MainActivity"
    android:background="@color/colorPrimary">

    ...

</androidx.appcompat.widget.LinearLayoutCompat>
</ScrollView>

Before clicking keyboard

After clicking keyboard

替换为以下代码

    <ScrollView android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true" 
        xmlns:android="http://schemas.android.com/apk/res/android">

    <androidx.appcompat.widget.LinearLayoutCompat
        android:isScrollContainer="false"
        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"
        android:orientation="vertical"
        tools:context=".MainActivity"
        android:background="@color/colorPrimary">

        ...

    </androidx.appcompat.widget.LinearLayoutCompat>
    </ScrollView>