关于TableLayout的一些测试

TableLayout 是一种类似表格的布局,这种布局会把包含的元素以行和列进行排列。表格的列数为所有行中的最大列数;每一行可以是一个TableRow布局对象,也可以是普通的View对象,TableRow里面没一个元素占一列;TableLayout总列数由列数最多的那一行决定。

关于三种列的设置
collapseColumns:设置隐藏列,列ID从0开始,多个列的话用”,”分隔,例如android:shrinkColumns ="0,1,2"
stretchColumns:设置自动伸展列,列ID从0开始,多个列的话用”,”分隔,同上
shrinkColumns:设置自动收缩列,列ID从0开始,多个列的话用”,”分隔,同上

collapseColumns可以隐藏列,可以在有需要的时候调用setColumnCollapsed()动态设置列是否被隐藏。

<?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="fill_parent"
	android:shrinkColumns="0,1,2,3"  
>
<TableRow>
	<Button android:id="@+id/button1"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:text="button1"
		android:layout_column="0"/>
	<Button android:id="@+id/button1"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:text="button2"
		android:layout_column="1"/>
</TableRow>
<TableRow>
	<Button android:id="@+id/button2"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:text="button3"
		android:layout_column="2"/>
	<Button android:id="@+id/button2"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:text="button4"
		android:layout_column="3"/>
</TableRow>
</TableLayout>


对比stretchColumns和shrinkColumns
stretchColumns的View组件会填充整一行
关于TableLayout的一些测试
而shrinkColumns在右边留下一定空间
关于TableLayout的一些测试


在某一列不设置显示View时,stretchColumns在那一列留下一小块空间,然后其余可以显示的列填充整一列,特殊情况是不设置显示View的那一列的最后也不存在View,这些列即可以忽略。
关于TableLayout的一些测试
关于TableLayout的一些测试
shrinkColumns则是除了View在最后一列之外,只要前一列不存在任何View后一列就会向前移动,取代前一列的位置
关于TableLayout的一些测试
关于TableLayout的一些测试


你可能感兴趣的:(tablelayout)