背景
有時(shí)以列表形式展示控件時(shí),需要保持上下控件對(duì)齊.
效果圖

“用戶賬號(hào):”和“密碼:”居左或居右對(duì)齊,同時(shí)后面的輸入框也對(duì)齊.
實(shí)現(xiàn)方案
利用TableLayout實(shí)現(xiàn),里面嵌套TableRow.
- 實(shí)現(xiàn)描述列居左對(duì)齊
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用戶賬號(hào):" />
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="100dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密碼:" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="100dp" />
</TableRow>
</TableLayout>
- 實(shí)現(xiàn)描述列居右對(duì)齊
在TextView中增加了android:textAlignment="textEnd"屬性
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用戶賬號(hào):"
android:textAlignment="textEnd" />
<EditText
android:id="@+id/editText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="100dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密碼:"
android:textAlignment="textEnd" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="100dp" />
</TableRow>
</TableLayout>