当虚拟键盘出现时,EditText有时会退出屏幕

时间:2011-04-17 11:25:17

标签: android android-layout android-xml

我正在为Android开发一个应用程序。

我有一个简单的布局。一个CheckBox,一个Spinner和一个顶部的Button,底部的两行EditText,当CheckBox被选中时显示,另一个EditText覆盖中间的其余空间。

问题在于,当我在大的EditText上写字时,有时布局会从屏幕上移出,因此我看不到我在写什么。

作为一个解决方案,我可以设置我的布局在键盘显示时调整大小(在manifest.xml上使用android:windowSoftInputMode =“adjustResize”),但这不会很好,因为我不希望2 EditTexts分享屏幕上留下的空间。

我的布局代码如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <Button android:id="@+id/button"
        android:text="Push"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content" 
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"/>
    <CheckBox android:id="@+id/check_box"
        android:text="Check"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true" />
    <Spinner android:id="@+id/spinner"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />   
    <EditText android:id="@+id/text_2"
        android:hint="@string/hint_2"
        android:inputType="textMultiLine"
        android:maxLines="2"
        android:gravity="top"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_alignParentBottom="true"
        android:visibility="gone" />    
    <EditText android:id="@+id/text_1"
        android:hint="@string/hint_1"
        android:inputType="textMultiLine"
        android:gravity="top"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_below="@id/spinner"
        android:layout_above="@id/text_2"
        android:layout_alignWithParentIfMissing="true" />
</RelativeLayout>

P.S。这件事只发生在我的Wildfire上,在模拟器上非常罕见。朋友的Desire HD根本没有任何问题。我不知道这是否有所不同......

提前感谢您的帮助。

安东尼

1 个答案:

答案 0 :(得分:0)

我有完全相同的问题。我已经测试过,这只发生在多线模式下的EditText和SoftInputMode设置为adjustPan时。这很可能是一个Android错误。

我找到的唯一解决方案是删除adjustPan。