按钮在Android中显示键盘时更改其位置

时间:2013-06-18 10:51:46

标签: android android-layout android-emulator

我正在尝试执行以下设计

Valid XHTML http://i39.tinypic.com/2rfcxo1.png

我的XML代码如下

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:layout_gravity="fill_vertical" >

    <EditText
        android:id="@+id/patientid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="50dp"
        android:layout_toLeftOf="@+id/speak"
        android:ems="10"
        android:hint="@string/patientidhint" >

        <requestFocus />
    </EditText>

    <Button
        android:id="@+id/speak"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/patientid"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:onClick="speak"
        android:text="@string/speak" 
        tools:context=".CreatingPatientFolder"
        />

     <ListView
        android:id="@+id/lvTextMatches"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/speak" 
        android:layout_above="@+id/btn_Submit"/>

    <Button
        android:id="@+id/btn_Submit"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="50dp"
        android:layout_alignParentBottom="true"
        android:gravity="center"
        android:paddingBottom="10dp"
        android:paddingLeft="30dp"
        android:paddingRight="30dp"
        android:paddingTop="10dp"
        android:text="Submit"
        android:textSize="20sp"
        tools:ignore="HardcodedText" />

</RelativeLayout>

现在,当我运行此项目时,它显示如下

Valid XHTML http://i40.tinypic.com/9u5b1y.png

所以任何人都可以告诉我为什么我的按钮向上移动也请帮我解决这个问题。

3 个答案:

答案 0 :(得分:2)

我认为移动按钮的原因是因为你的列表是空的,你有足够的空间移动按钮而按钮不在编辑文本下方,因此它可以重叠。

您的清单中有一个名为“windowSoftInputMode”的属性。此属性指定软键盘的行为方式。

您可以使用:

android:windowSoftInputMode="stateVisible|adjustNothing

答案 1 :(得分:0)

在按钮中添加:

android:layout_marginTop="20dp"

我没有测试。可以解决你的问题。

答案 2 :(得分:0)

帮助我的另一件事是将Manifest文件中的主题更改为NoActionBar和FullScreen(如果您不想像我一样使用ActionBar)。

android:theme="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"