我正在学习相对布局并编写了一个小测试布局来模拟登录页面:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent">
<TextView android:id="@+id/labelUsername"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="username:"
android:layout_centerVertical="true"/>
<EditText android:id="@+id/txtUsername"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:hint="input username here"
android:layout_toRightOf="@id/labelUsername"
android:layout_alignBaseline="@id/labelUsername"/>
<TextView android:id="@+id/labelPassword"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="password:"
android:layout_below="@id/txtUsername"
android:layout_alignParentLeft="true"/>
<EditText android:id="@+id/txtPassword"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:hint="input password here"
android:layout_below="@id/txtUsername"
android:layout_alignLeft="@id/txtUsername"
android:layout_alignBaseline="@id/labelPassword"/>
</RelativeLayout>
我想要的是把and放在Username Label
andTextfield
之上。但是结果被还原了,密码在上面!Password Label
TextField
我认为问题在于 中的“android:layout_below”属性labelPassword
,如果我将其设置为 below labelUsername
,它可以工作,但是因为textfield
比标签大得多,所以textfields
在这种情况下两者都是重叠的。所以我试着做labelPassword
下面的txtUsername
,但它表现得很奇怪,我不明白。
顺便说一句,当我使用相对布局构建布局时有什么指导方针吗?
我应该先放什么?
最后我应该放什么?
谢谢!