表格布局的风格与HTML中的表格比较接近,只是所采用的标签不同。
(1)<TableLayout>:是顶级元素,说明采用的是表格布局;
(2)<TableRow>:定义一个行;
(3)<TextView>:定义一个单元格的内容。
示例布局如下:
<?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"
android:stretchColumns="0,1,2,3">
<TableRow>
<TextView
android:text="@string/name"
android:gravity="center"
android:padding="3dip"
/>
<TextView
android:text="@string/gender"
android:gravity="center"
android:padding="3dip"
/>
<TextView
android:text="@string/age"
android:gravity="center"
android:padding="3dip"/>
<TextView
android:text="@string/phonenumber"
android:gravity="center"
android:padding="3dip"/>
</TableRow>
<TableRow>
<TextView
android:text="@string/name1"
android:gravity="center"
android:padding="3dip"
/>
<TextView
android:text="@string/gender2"
android:gravity="center"
android:padding="3dip"
/>
<TextView
android:text="@string/age1"
android:gravity="center"
android:padding="3dip"/>
<TextView
android:text="@string/phonenumber1"
android:gravity="center"
android:padding="3dip"/>
</TableRow>
<TableRow>
<TextView
android:text="@string/name2"
android:gravity="center"
android:padding="3dip"
/>
<TextView
android:text="@string/gender1"
android:gravity="center"
android:padding="3dip"
/>
<TextView
android:text="@string/age2"
android:gravity="center"
android:padding="3dip"/>
<TextView
android:text="@string/phonenumber2"
android:gravity="center"
android:padding="3dip"/>
</TableRow>
</TableLayout>
(1)android:stretchColumns="0,1,2,3";该属性指定每行都由第“0,1,2,3”列占满空白空间。
(2)gravity:指定文字对齐方式,本例中设为居中对齐。
(3)padding:指定视图与视图内容间的空隙,单位为像素。
对应的string.xml文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">用户界面</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="name_text">请输入用户名</string>
<string name="ok_button">确定</string>
<string name="cancle_button">取消</string>
<string name="name">姓名</string>
<string name="gender">性别</string>
<string name="age">年龄</string>
<string name="phonenumber">电话</string>
<string name="gender1">男</string>
<string name="gender2">女</string>
<string name="name1">张三</string>
<string name="age1">25</string>
<string name="phonenumber1">123456</string>
<string name="name2">李四</string>
<string name="age2">25</string>
<string name="phonenumber2">123456</string>
</resources>
界面效果如下图: