Android,在edittext中输入时防止相对布局底部对齐的按钮向上移动

时间:2013-02-02 12:28:26

标签: android relativelayout

我创建了一个包含3个列表视图的相对布局。在顶部,我有一个editText字段。在中间有一个滚动视图填充所有剩余空间。在底部我放了一个按钮。问题是,当我在editText字段中输入时,键盘会显示,然后按钮被移动并放在键盘的顶部。似乎按钮总是粘在视图底部“左”,但我希望它保留在原始窗口的底部。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:id="@+id/ll_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
    >

        <TextView
            android:id="@+id/tv_course_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/text_view_course_name"
            android:textStyle="bold" />

        <EditText
            android:id="@+id/et_course_name"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:ems="10" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/ll_save_course_button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" >

        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="saveCourse"
            android:text="@string/button_save_course" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/ll_course_table"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/ll_save_course_button"
        android:layout_below="@id/ll_name" >

    </LinearLayout>


</RelativeLayout>

2 个答案:

答案 0 :(得分:7)

在清单文件中,

        <activity
        android:name=".HomeActivity"
        android:windowSoftInputMode="stateHidden|adjustPan" >

注意: 在这里,我使用了HomeActivity,您需要指定用于设置上述布局xml文件的活动名称。

答案 1 :(得分:0)

试试这个:

 <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:onClick="saveCourse"
        android:gravity="bottom"
        android:text="@string/button_save_course" />

或使用此

 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
 WindowManager.LayoutParams.FLAG_FULLSCREEN);