今天练习制作app的登录界面时遇到的一个问题。
预想实现的效果如下图:
一开始写的代码是:
<?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">
<RelativeLayout
android:id="@+id/name_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"
android:padding="5dp"
android:text="帐号:"
android:textSize="24sp" />
<EditText
android:id="@+id/et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignRight="@id/text" />
<Button
android:id="@+id/btn"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignRight="@id/et"
android:layout_marginRight="10dp" />
</RelativeLayout>
</RelativeLayout>
效果出来是这样的:
后来在网上查找了一下资料,发现alignRight和toRightOf的不同
ailgnRight="id/viewid"是 控件的右侧和引用控件的右侧对齐
toRightOf="id/viewid"是 控件位于引用控件的右侧
知道这些过后,稍微改下改下代码
<?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">
<RelativeLayout
android:id="@+id/name_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"
android:padding="5dp"
android:text="帐号:"
android:textSize="24sp" />
<Button
android:id="@+id/btn"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/btn"
android:layout_toRightOf="@id/text" />
</RelativeLayout>
</RelativeLayout>
最终实现如下效果: