0

可能重复:
显示软键盘时背景布局移动 - android

我有一个包含多个视图和 EditText 的布局文件:

<RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="match_parent" xmlns:android="http://schemas.android.com/apk/res/android">
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/connect"
            android:id="@+id/btnConnect" android:layout_alignParentRight="true" android:layout_alignParentTop="true"/>
    <Spinner
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/spServers"
            android:layout_toLeftOf="@+id/btnConnect" android:layout_alignTop="@+id/btnConnect"
            android:layout_alignBottom="@+id/btnConnect" android:layout_alignParentLeft="true"/>
    <ToggleButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/btnType" android:layout_alignLeft="@+id/btnConnect"
            android:layout_below="@+id/btnConnect" android:layout_alignRight="@+id/btnConnect" android:textOff="@string/text"
            android:textOn="@string/grid" />
    <Spinner
            android:layout_width="98dp"
            android:layout_height="22dp"
            android:id="@+id/spDataBases" android:layout_toLeftOf="@+id/btnConnect"
            android:layout_below="@+id/btnConnect"
            android:layout_alignBottom="@+id/btnType" android:layout_alignLeft="@+id/spServers"/>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/check"
            android:id="@+id/btnCheck" android:layout_alignLeft="@+id/spServers" android:layout_alignParentBottom="true"/>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/run"
            android:id="@+id/btnRun" android:layout_toRightOf="@+id/btnCheck" android:layout_alignTop="@+id/btnCheck"
            android:layout_toLeftOf="@+id/btnLoad"/>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/load"
            android:id="@+id/btnLoad" android:layout_alignRight="@+id/btnConnect"
            android:layout_alignTop="@+id/btnCheck"/>
    <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/txtSQL" android:layout_alignLeft="@+id/spServers" android:layout_below="@+id/btnType"
            android:layout_alignRight="@+id/btnConnect" android:layout_above="@+id/btnCheck"
            android:gravity="left|top" android:singleLine="false" android:textAlignment="gravity"/>
</RelativeLayout>

它看起来像这样:

在此处输入图像描述

但是当我试图输入一些东西时,我遇到了这个问题:

我正在尝试输入一些东西

请帮我解决这个问题。当我输入一些文本时,我不想更改布局上的屏幕位置。当用户尝试输入内容时,它会向上移动。

4

1 回答 1

0

您可以尝试告诉 Android 在键盘启动时不要调整布局大小,以确保您输入的内容可见。(文档:http: //developer.android.com/guide/topics/manifest/activity-element.html#wsoft

将以下内容添加到您的应用程序清单中:(在相关活动中,而不是下面的虚拟活动中)

<activity android:name="Activity"
  ..
  android:windowSoftInputMode="adjustPan"
  ..
</activity>

我不清楚您的问题是在您单击 EditText 并且键盘出现时发生,还是仅在您开始输入时才发生?如果是后者,我的回答可能无济于事。我也不确定“adjustPan”是否是可取的行为,但值得一试!将整个 RelativeLayout 放在 ScrollView 中也是一个好主意。

于 2013-01-18T23:25:01.250 回答