项目在彼此之上移动

时间:2014-04-21 06:21:13

标签: android layout

我有一个包含5个edittext的屏幕,5个按钮正确显示,您可以看到屏幕截图enter image description here

当我输入文字时,项目会像第二个屏幕截图一样在彼此之上移动,我该如何解决这个问题?enter image description here

这是我的xml代码

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

 <ListView
    android:id="@+id/listItems"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/btnGoHome" >

</ListView>

<Button
    android:id="@+id/btnSaveList"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:text="Save" />

<EditText
    android:id="@+id/saveList"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/btnSaveList"
    android:layout_toLeftOf="@+id/btnSaveList"
    android:ems="10"
    android:hint="Create Shopping List" />

<Button
    android:id="@+id/btnViewItems2"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/btnGoHome"
    android:layout_alignBottom="@+id/btnGoHome"
    android:layout_alignParentRight="true"
    android:layout_marginRight="20dp"
    android:text="View Items" />

<Button
    android:id="@+id/btnGoToShop2"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/btnAddItem"
    android:layout_marginLeft="16dp"
    android:layout_marginTop="16dp"
    android:text="Go To Shop" />

<Button
    android:id="@+id/btnGoHome"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/btnGoToShop2"
    android:layout_alignBottom="@+id/btnGoToShop2"
    android:layout_centerHorizontal="true"
    android:text="Home" />

<Button
    android:id="@+id/btnAddItem"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/addQuantity"
    android:layout_marginTop="20dp"
    android:text="Add Item" />

<Spinner
    android:id="@+id/spShoppingList"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/addItem"
    android:layout_alignRight="@+id/btnViewItems2"
    android:layout_below="@+id/btnSaveList"
    android:layout_marginTop="14dp"
    android:ems="10" />

<EditText
    android:id="@+id/addShop"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/addQuantity"
    android:layout_alignLeft="@+id/addQuantity"
    android:layout_marginBottom="18dp"
    android:ems="10"
    android:hint="Add Shop" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/addItem"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/addShop"
    android:layout_alignLeft="@+id/addShop"
    android:layout_marginBottom="15dp"
    android:ems="10"
    android:hint="Add Item" />

<EditText
    android:id="@+id/addQuantity"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:ems="10"
    android:hint="Quantity" />

</RelativeLayout>

2 个答案:

答案 0 :(得分:2)

从项目清单中,在 活动 标记内添加代码:

键盘在开始时可见

android:windowSoftInputMode="stateVisible|adjustPan"

键盘在开始时隐藏

android:windowSoftInputMode="stateHidden|adjustPan"

答案 1 :(得分:0)

尝试在Manifest中为您的活动添加以下内容(适用于您遇到此问题的所有活动):

android:windowSoftInputMode="adjustPan"

例如:

<activity
   android:label="@string/app_name"
   android:name=".MainActivity" android:windowSoftInputMode="adjustPan">
   <intent-filter >
     <action android:name="android.intent.action.MAIN" />
     <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>

有关详细信息,请转到here