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

时间:2018-03-26 14:23:22

标签: android scrollview

我在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属性值。

2 个答案:

答案 0 :(得分:0)

您可以尝试仅保留属性adjustPan

 <application
   android:windowSoftInputMode="adjustPan"/>

答案 1 :(得分:0)

您可以尝试使用NestedScrollView代替ScrollView。这是第一个解决方案。

你也可以尝试一下。 在你的清单中添加它。

android:windowSoftInputMode="adjustResize"