我正在尝试使用RelativeLayout设计非常简单的注册活动布局。 要将文本标签与要填充的文本对齐,我在TextView标签和右侧的EditView之间使用'layout_alignBaseline'属性。
以下布局按预期工作:
<?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">
<TextView
android:id="@+id/textTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"
android:gravity="center"
android:text="Register Here"
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/textRegisterFirstName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignBaseline="@id/editRegisterFirstName"
android:text="First Name" />
<EditText
android:id="@+id/editRegisterFirstName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/textRegisterFirstName"
android:layout_toRightOf="@id/textRegisterFirstName"
android:layout_below="@id/textTitle"
android:inputType="text" />
</RelativeLayout>
结果:
BUT
当我在EditText元素的layout_alignBaseline属性和TextView的layout_below属性(具有必要的名称更改)之间切换时,如下所示:
<TextView
android:id="@+id/textRegisterFirstName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@id/textTitle"
android:text="First Name" />
<EditText
android:id="@+id/editRegisterFirstName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toEndOf="@id/textRegisterFirstName"
android:layout_toRightOf="@id/textRegisterFirstName"
android:layout_alignBaseline="@id/textRegisterFirstName"
android:inputType="text" />
EditText元素“跳出”屏幕:
(蓝色矩形它安卓工作室指示它的位置)
有什么想法吗?