显示键盘时无法在 LinearLayout 内滚动内容

Cannot scroll content inside LinearLayout when keyboard is shown

我在 ScrollView 中使用背景图像,背景中已有该图像。我希望 LinearLayout 中的内容可以滚动并且背景图像不应该缩小。 这是我的 xml 文件 :-

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/login_form"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/login_background"
android:fillViewport="true"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.appzoy.croatiaapp.LoginActivity">

<LinearLayout
    android:id="@+id/email_login_form"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="50dp"
    android:gravity="bottom"
    android:orientation="vertical">

    <EditText
        android:id="@+id/userId"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:background="@drawable/user_name_background"
        android:hint="@string/hint_name"
        android:paddingBottom="15dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:paddingTop="15dp" />

    <EditText
        android:id="@+id/password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="15dp"
        android:layout_marginRight="15dp"
        android:layout_marginTop="30dp"
        android:background="@drawable/user_name_background"
        android:hint="@string/hint_password"
        android:inputType="textPassword"
        android:paddingBottom="15dp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:paddingTop="15dp" />

    <Button
        android:id="@+id/email_sign_in_button"
        android:layout_width="140dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="30dp"
        android:background="@drawable/login_button_background"
        android:enabled="false"
        android:gravity="center"
        android:text="@string/action_sign_in"
        android:textColor="@color/textColor"
        android:textSize="20sp" />

</LinearLayout>
</ScrollView>

我使用 stateVisible|adjustPan 作为 windowSoftInputMode 属性值。

你可以尝试只保留属性 adjustPan

 <application
   android:windowSoftInputMode="adjustPan"/>

您可以尝试 NestedScrollView 而不是 ScrollView 。这是第一个解决方案。

你也可以试试这个。 将此添加到您的清单中。

android:windowSoftInputMode="adjustResize"