Android:当kayboard出现时,ScrollView中的EditText会进入屏幕

时间:2015-06-09 07:33:26

标签: android android-edittext scrollview

我正在尝试创建一个登录屏幕。我使用ScrollView来保存输入字段。我有以下xml:

<RelativeLayout ... >
    <RelativeLayout
        android:id="@+id/top_menu" ... >
        <ImageButton ... />
        <com.neopixl.pixlui.components.textview.TextView... />
    </RelativeLayout>

    <ScrollView
        android:id="@+id/scroll_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/top_menu"
        android:overScrollMode="always">

        <LinearLayout
            android:id="@+id/login_group"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:gravity="center"
            android:orientation="vertical">

            <com.neopixl.pixlui.components.edittext.EditText
                android:id="@+id/user_name_email"
                android:layout_width="match_parent"
                android:layout_height="@dimen/input_height_size"
                android:layout_marginEnd="20dp"
                android:layout_marginStart="20dp"
                android:background="@drawable/edit_text_strock"
                android:hint="@string/user_Name_Email_EditText"
                android:maxLines="1"
                android:paddingLeft="10dp"
                android:paddingStart="10dp"
                android:textColor="@color/White"
                android:textColorHint="@color/White"
                android:textSize="@dimen/register_input_text_size"
                pixlui:typeface="MuseoSans.otf"/>

            <com.neopixl.pixlui.components.edittext.EditText.... />
            <com.neopixl.pixlui.components.button.Button... />
            <com.neopixl.pixlui.components.textview.TextView... />
            <com.neopixl.pixlui.components.textview.TextView... />
            <com.neopixl.pixlui.components.textview.TextView... />
            <com.neopixl.pixlui.components.button.Button... />
        </LinearLayout>
    </ScrollView>
</RelativeLayout>

您可以看到完整的xml here。 当我点击EditText user_name_email时,它就会离开屏幕。

点击之前:

Before click

点击后:

After click

我已尝试scrollTo(x, y)smootScrollTo(x, y)但他们无效。

我该如何解决?

更新

adjustPan有效,但我希望它与adjustResize一起使用。 有可能吗?

2 个答案:

答案 0 :(得分:0)

在清单文件中使用以下行,以获取需要更改的活动。

android:windowSoftInputMode="adjustPan"

如下所示使用它:

<activity
            android:name=".ActivityName"
            android:label="title_for_activity"
            android:windowSoftInputMode="adjustPan" >
        </activity>

希望这有帮助。

答案 1 :(得分:0)

将其添加到清单文件:

android:windowSoftInputMode="adjustPan"

在目标活动代码中。