当前位置:操作系统 > 安卓/Android >>

Android ApiDemos示例解析(156):Views->Layouts->TableLayout->01. Basic

上一篇:http://www.zzzyk.com/kf/201209/153078.html

TableLayout 以表格形式(行和列)来布置其子View。一个TableLayout 可以包含多个TableRow对象,每个TableRow 定义了表格的一行(实际上也可以使用其它类型的子View),TableLayout不显示行、列或是单元格边界线。每行可以包括0个或多个单元格,每个单元格可以显示一个子View。最终表格的列数有含有最多单元格的那行来决定。一个表格可以含有空单元格,单元格也可以占据多列(和HTML类似)。

列宽取决于该列中最宽的单元格,然而TableLayout可以为某些列指定缩放属性,如果指定shrinkable ,该类可以缩小以适应父容器。如果指定stretchable ,则该列可以拉伸充满单元格。表格的宽度由其父容器决定,单元格可以同时指定shrinkable和stretchable,此时该单元格将永远被View充满。隐藏一列可以调用setColumnCollapsed().

TableLayout 的子View不能指定layout_width 属性,它的值总是MATCH_PARENT, 而layout_height 可以指定,缺省为WRAP_CONTENT, 如果TableLayout 的子View类型为TableRow 时layout_height 总为WRAP_CONTENT.

单元格必须依次添加到每行中(XML或是代码),列的序号从0开始,如果没有为单元格指定类的序号,则自动添加到下一列中,如果跳过某个列,则跳过的类被认为是空单元格。

如果不使用TableRow 做为TableLayout的子类,在该行的View被认为占据所有列。

本例显示了TableLayout 的基本用法,使用TableRow 定义了三行,每行有3个TextView,每列的列宽有该列最宽的单元格决定:


[html]
<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/table_layout_1_star” 
 android:padding=”3dip” /> 
 <TextView 
 android:text=”@string/table_layout_1_open” 
 android:padding=”3dip” /> 
 <TextView 
 android:text=”@string/table_layout_1_open_shortcut” 
 android:padding=”3dip” /> 
 </TableRow> 
  
<TableRow> 
 <TextView 
 android:text=”@string/table_layout_1_triple_star” 
 android:padding=”3dip” /> 
 <TextView 
 android:text=”@string/table_layout_1_save” 
 android:padding=”3dip” /> 
 <TextView 
 android:text=”@string/table_layout_1_save_shortcut” 
 android:padding=”3dip” /> 
 </TableRow> 
  
<TableRow> 
 <TextView 
 android:text=”@string/table_layout_1_star” 
 android:padding=”3dip” /> 
 <TextView 
 android:text=”@string/table_layout_1_quit” 
 android:padding=”3dip” /> 
 <TextView 
 android:text=”@string/table_layout_1_quit_shortcut” 
 android:padding=”3dip” /> 
 </TableRow> 
 </TableLayout> 

<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/table_layout_1_star”
 android:padding=”3dip” />
 <TextView
 android:text=”@string/table_layout_1_open”
 android:padding=”3dip” />
 <TextView
 android:text=”@string/table_layout_1_open_shortcut”
 android:padding=”3dip” />
 </TableRow>
 
<TableRow>
 <TextView
 android:text=”@string/table_layout_1_triple_star”
 android:padding=”3dip” />
 <TextView
 android:text=”@string/table_layout_1_save”
 android:padding=”3dip” />
 <TextView
 android:text=”@string/table_layout_1_save_shortcut”
 android:padding=”3dip” />
 </TableRow>
 
<TableRow>
 <TextView
 android:text=”@string/table_layout_1_star”
 android:padding=”3dip” />
 <TextView
 android:text=”@string/table_layout_1_quit”
 android:padding=”3dip” />
 <TextView
 android:text=”@string/table_layout_1_quit_shortcut”
 android:padding=”3dip” />
 </TableRow>
 </TableLayout>

\
 

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,