android 表单布局 左右布局

<?xml version="1.0" encoding="utf-8"?>  
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"  
        android:layout_width="fill_parent"  
        android:layout_height="match_parent"  
        android:stretchColumns="*" >  
       
        <TableRow  
            android:id="@+id/tableRow1"  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content" >  
       
            <TextView  
                android:id="@+id/username_label"  
                android:layout_width="wrap_content"  
                android:layout_height="wrap_content"  
                android:layout_gravity="right|center_vertical"  
                android:text="用户名:" />  
       
            <EditText  
                android:id="@+id/editText1"  
                android:layout_height="wrap_content"  
                android:ems="10"  
                android:hint="请输入用户名" />  
       
        </TableRow>  
       
        <TableRow  
            android:id="@+id/tableRow2"  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content" >  
       
            <TextView  
                android:id="@+id/textView1"  
                android:layout_width="wrap_content"  
                android:layout_height="wrap_content"  
                android:layout_gravity="right|center_vertical"  
                android:text="密码:" />  
       
            <EditText  
                android:id="@+id/editText2"  
                android:layout_height="wrap_content"  
                android:ems="10"  
                android:hint="请设定密码"  
                android:inputType="textPassword" >  
       
                <requestFocus />  
            </EditText>  
       
        </TableRow>  
       
        <TableRow  
            android:id="@+id/tableRow3"  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content" >  
       
            <Space  
                android:layout_width="wrap_content"  
                android:layout_height="wrap_content" />  
       
            <LinearLayout  
                android:layout_width="wrap_content"  
                android:layout_height="wrap_content"  
                android:layout_gravity="right" >  
       
                <Button  
                    android:id="@+id/button1"  
                    android:layout_width="wrap_content"  
                    android:layout_height="wrap_content"  
                    android:text="登录" />  
       
                <Button  
                    android:id="@+id/button2"  
                    android:layout_width="wrap_content"  
                    android:layout_height="wrap_content"  
                    android:text="注册" />  
       
            </LinearLayout>  
       
        </TableRow>  
       
    </TableLayout>
  • 在TableLayout中使用stretchColumns=”*”伸展所有界面组件,以使得屏幕得到充分利用。
  • 用户名和密码的Lable的宽度通常只需要wrap_content即可,gravity设置为right|center_vertical居右显示。
  • 文本输入框(EditText域)的宽度在stretchColumns=”*”的情况下可以不设置,由系统自动确定宽度。
  • 使用嵌套的LinearLayout进行两个按钮的布局,并且LinearLayout的gravity设置为right,使得两个按钮居右显示。注意,需要一个space(空的界面组件)来占据表格的第一列。

相关推荐