XML布局中的对象在键盘显示上重叠

时间:2013-08-06 15:13:51

标签: java android relativelayout

当键盘显示时,如何确保以“++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

现在它显示如下:

http://imageshack.us/photo/my-images/21/pw95.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="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity"
    android:background="@drawable/bginset2" >
        <TextView
            android:id="@+id/tvTripName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Trip Name:"
            android:textStyle="bold"
            android:textColor="#2B00E4"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:paddingLeft="2dp"
            android:layout_marginTop="4dp" />
        <EditText
            android:id="@+id/etFileName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@+id/tvTripName"
            android:ems="10"
            android:inputType="textNoSuggestions|textCapWords"
            android:layout_marginLeft="2dp"
            android:singleLine="true"
            android:textColor="#569741"
            android:textSize="16dp"
            android:textStyle="bold"
            android:maxLength="30" />
        <EditText
            android:id="@+id/etShowLog"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textMultiLine|textNoSuggestions"
            android:lines="20"
            android:textStyle="normal"
            android:paddingLeft="2dip"
            android:singleLine="false"
            android:textColor="#999999"
            android:textSize="14dp"
            android:gravity="top"
            android:layout_above="@+id/btnClear" />
        <Button
            android:id="@+id/btnClear"
            android:background="@drawable/otherbuttons"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Clear Trip"
            android:textStyle="bold"
            android:textColor="#FFFFFF"
            android:shadowColor="#000000"
            android:shadowDx="1"
            android:shadowDy="1"
            android:shadowRadius="2"
            android:layout_alignParentBottom="true" />
        <Button
            android:id="@+id/btnSave"
            android:background="@drawable/otherbuttons"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Save Trip"
            android:layout_gravity="right"
            android:textStyle="bold"
            android:textColor="#FFFFFF"
            android:shadowColor="#000000"
            android:shadowDx="1"
            android:shadowDy="1"
            android:shadowRadius="2"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true" />
</RelativeLayout>

我怎样才能确保,无论键盘是否已关闭,TripText和下面两个按钮之间的任何空格都被EditText占用?

1 个答案:

答案 0 :(得分:0)

你需要将元素设置在彼此之下,这样当键盘出现时,它们会保持相对位置。

例如,要将edittext保留在行程名称textview下面,您可以执行此操作

android:layout_below="@+id/tvTripName"