键盘打开时ScrollView卡住了光标在EditText中

时间:2014-01-28 12:46:22

标签: android android-layout android-edittext

我有一个ScrollView,其中包含一些小部件,其中包括EditText。当我在EditTextid:message)中写几行时,我无法将ScrollView一直向上滚动到顶部,直到我关闭软键盘时它才会被卡住。在那之后,如果我再次进入EditText并写下另外几行,这不会再发生了。这只发生在Android 4.x上,而不是2.3上。 如何防止ScrollView卡住?

这是我的布局:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:paddingLeft="8dp"
        android:paddingRight="8dp" >

        <EditText
            android:id="@+id/name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/ihr_name"
            android:imeOptions="flagNoExtractUi"
            android:inputType="textPersonName"
            android:singleLine="true" >
        </EditText>

        <EditText
            android:id="@+id/email"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="4dp"
            android:hint="@string/ihre_email"
            android:imeOptions="flagNoExtractUi"
            android:inputType="textEmailAddress"
            android:singleLine="true" />

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="4dp" >

            <asco.asco.spinnerbuttonlib.spinnerbutton.StaticSpinnerbutton
                android:id="@+id/startDate"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <TextView
                android:id="@+id/starterror"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:layout_marginRight="16dp"
                android:background="#00000000" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="4dp" >

            <asco.asco.spinnerbuttonlib.spinnerbutton.StaticSpinnerbutton
                android:id="@+id/endDate"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <TextView
                android:id="@+id/enderror"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:layout_marginRight="16dp"
                android:background="#00000000" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="4dp" >

            <asco.asco.spinnerbuttonlib.spinnerbutton.StaticSpinnerbutton
                android:id="@+id/xy"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />

            <TextView
                android:id="@+id/adulterror"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:layout_marginRight="16dp"
                android:background="#00000000" />
        </RelativeLayout>

        <asco.asco.spinnerbuttonlib.spinnerbutton.StaticSpinnerbutton
            android:id="@+id/tre"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="4dp" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="4dp"
            android:layout_marginTop="24dp"
            android:text="Message: "
            android:textAppearance="@style/StandardTextBold"
            android:textColor="@color/myorange" />

        <EditText
            android:id="@+id/message"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="4dp"
            android:hint="@string/ihre_nachricht"
            android:inputType="textNoSuggestions|textMultiLine"
            android:text="@string/contact_message" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:text="@string/pflichtfelder"
            android:textAppearance="@style/SmallText" />

        <Button
            android:id="@+id/send"
            style="@style/ButtonTheme"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:text="Senden" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="16dp"
            android:text="@string/contact_datenschutz"
            android:textAppearance="@style/SmallText" />
    </LinearLayout>

</ScrollView>

这是卡住布局的截图(可能不太有趣):

enter image description here

1 个答案:

答案 0 :(得分:0)

您的输入选项设置为平移(保持我们输入的视图可见)

android:windowSoftInputMode="adjustResize"添加到清单

中的活动声明中