`

7.5 TableLayout布局详解

阅读更多
TableLayout表格布局,将子元素的位置分配到行或列中。TableLayout布局由许多的TableRow(行) 组成,它没有列的概念,列是由行中的控件数目决定的。TableLayout布局也是实际中常用的布局方式。
TableLayout布局不会显示行、列 、单元格的边框线。TableLayout布局应用如图7-17所示。
 


图7-17 TableLayout1
TableLayout布局文件请参考代码清单7-20,完整代码请参考chapter7_5工程中tablelayout1.xml代码部分(chapter7_5/res/layout/tablelayout1.xml)。
【代码清单7-20】
<?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>
		<TextView android:text="@string/row1_1" android:padding="3dip" />
		<TextView android:text="@string/row1_2" android:padding="3dip" />
		<TextView android:text="@string/row1_3" android:padding="3dip" />
	</TableRow>
	<TableRow>
		<TextView android:text="@string/row2_1" android:padding="3dip" />
		<TextView android:text="@string/row2_2" android:padding="3dip" />
		<TextView android:text="@string/row2_3" android:padding="3dip" />
	</TableRow>
	<TableRow>
		<TextView android:text="@string/row3_1" android:padding="3dip" />
		<TextView android:text="@string/row3_2" android:padding="3dip" />
		<TextView android:text="@string/row3_3" android:padding="3dip" />
	</TableRow>
	<TableRow>
		<TextView android:text="@string/row4_1" android:padding="3dip" />
		<TextView android:text="@string/row4_2" android:padding="3dip" />
		<TextView android:text="@string/row4_3" android:padding="3dip" />
	</TableRow>
	<TableRow>
		<TextView android:text="@string/row5_1" android:padding="3dip" />
		<TextView android:text="@string/row5_2" android:padding="3dip" />
		<TextView android:text="@string/row5_3" android:padding="3dip" />
	</TableRow>
	<TableRow>
		<TextView android:text="@string/row6_1" android:padding="3dip" />
		<TextView android:text="@string/row6_2" android:padding="3dip" />
		<TextView android:text="@string/row6_3" android:padding="3dip" />
	</TableRow>

</TableLayout>

下面再看一个合并单元格TableLayou布局应用图7-18所示。
 


图7-18 TableLayout2
TableLayout布局文件请参考代码清单7-21,完整代码请参考chapter7_5工程中tablelayout2.xml代码部分(chapter7_5/res/layout/tablelayout2.xml)。
【代码清单7-21】
<?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">
	<TableRow>
		<TextView android:text="@string/row1_1" android:padding="3dip" />
		<TextView android:text="@string/row1_2" android:padding="3dip" />
		<TextView android:text="row1_3" android:padding="3dip" />
	</TableRow>

	<TableRow>
		<TextView android:text="@string/row2_1" android:padding="3dip" />
		<TextView android:text="@string/row2_2" android:padding="3dip"
			android:layout_span="2" android:background="#ff0060" />
	</TableRow>

	<TableRow>
		<TextView android:text="@string/row3_1" android:padding="3dip" />
		<!-- android:layout_column="1" -->
		<TextView android:text="@string/row3_2" android:padding="3dip" />
		<TextView android:text="row3_3" android:padding="3dip" />
	</TableRow>

	<TableRow>
		<TextView android:text="@string/row4_1" android:padding="3dip" />
		<TextView android:text="@string/row4_2" android:padding="3dip" />
		<TextView android:text="row4_3" android:padding="3dip" />
	</TableRow>

	<TableRow>
		<TextView android:text="@string/row5_1" android:padding="3dip" />
		<TextView android:text="@string/row5_2" android:padding="3dip" />
		<TextView android:text="row5_3" android:padding="3dip" />
	</TableRow>

	<TableRow>
		<TextView android:text="@string/row6_1" android:padding="3dip" />
		<TextView android:text="@string/row6_2" android:padding="3dip" />
		<TextView android:text="row6_3" android:padding="3dip" />
	</TableRow>
</TableLayout>

TableLayout标签内的android:stretchColumns="0,1,2"属性是第一列、第二列、第三列自动调节列宽。<TableRow>内的TextView控件中的属性android:layout_span="2"是合并一个单元格,如图7-18显示的粉色背景就是合并的单元格。
                                        出自《Android开发案例驱动教程》第七章
  • 大小: 23.6 KB
  • 大小: 13.2 KB
0
1
分享到:
评论

相关推荐

    Android入门到精通源代码.

    6.2.4 表格布局(TableLayout) 6.2.5 绝对布局(AbsoluteLayout) 6.3 界面中的字体 6.3.1 设置系统字体 6.3.2 引用用户自定义字体 6.4 应用实例详解:制作手机桌面 6.4.1 实例分析 6.4.2 实例实现 第7章 Android中...

    android开发揭秘PDF

    4.3.4 表单布局(TableLayout) 4.3.5 切换卡(TabWidget) 4,4 小结 第5章 Android游戏开发 5.1 Android游戏开发框架 5.1.1 View类开发框架 5.1.2 SurfaceView类开发框架 5.2 Graphics类开发 5.5.1 Paint和Color类介绍...

    《Android应用开发揭秘》附带光盘代码.

     4.3.4 表单布局(TableLayout)  4.3.5 切换卡(TabWidget)  4,4 小结  第5章 Android游戏开发  5.1 Android游戏开发框架  5.1.1 View类开发框架  5.1.2 SurfaceView类开发框架  5.2 Graphics类开发  5.5.1 ...

    《Android应用开发揭秘》源码

     4.3.4 表单布局(TableLayout)  4.3.5 切换卡(TabWidget)  4,4 小结  第5章 Android游戏开发  5.1 Android游戏开发框架  5.1.1 View类开发框架  5.1.2 SurfaceView类开发框架  5.2 Graphics类开发  5.5.1 ...

    Android应用开发揭秘pdf高清版

    4.3.4 表单布局(TableLayout) 4.3.5 切换卡(TabWidget) 4,4 小结 第5章 Android游戏开发 5.1 Android游戏开发框架 5.1.1 View类开发框架 5.1.2 SurfaceView类开发框架 5.2 Graphics类开发 5.5.1 Paint和Color类介绍...

    Android实例代码

    2.2、布局管理(Layout):LinearLayout、TableLayout、FrameLayout、RelativeLayout; 2.3、基本界面组件:TextView、EditText; Button、ImageButton; 9Patch; RadioButton、CheckBox; ToggleButton;AnalogClock、...

    疯狂Android讲义(第2版)源代码 第6章~第9章

    2.2、布局管理(Layout):LinearLayout、TableLayout、FrameLayout、RelativeLayout; 2.3、基本界面组件:TextView、EditText; Button、ImageButton; 9Patch; RadioButton、CheckBox; ToggleButton;AnalogClock...

Global site tag (gtag.js) - Google Analytics