一、Tablelayout简介

Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列。 当为View时,该View将独占一行。

二、TableLayout行列数的确定(最大的原则)

TableLayout的行数由开发人员直接指定,即有多少个TableRow对象(或View控件),就有多少行。TableLayout的列数等于含有最多子控件的TableRow的列数。如第一TableRow含2个子控件,第二个TableRow含3个,第三个TableRow含4个,那么该TableLayout的列数为4.

三、TableLayout可设置的属性详解

总体了,这个TableLayout的属性和html中Table标签的属性差不多。他的各个属性如下:

TableLayout可设置的属性包括全局属性及单元格属性。

1、全局属性也即列属性,有以下3个参数:

android:stretchColumns    设置可伸展的列。该列可以向行方向伸展,最多可占据一整行。

android:shrinkColumns     设置可收缩的列。当该列子控件的内容太多,已经挤满所在行,那么该子控件的内容将往列方向显示。

android:collapseColumns 设置要隐藏的列。

示例:

android:stretchColumns="0"           第0列可伸展

android:shrinkColumns="1,2"         第1,2列皆可收缩

android:collapseColumns="*"         隐藏所有行

说明:列可以同时具备stretchColumns及shrinkColumns属性,若此,那么当该列的内容N多时,将“多行”显示其内容。(这里不是真正的多行,而是系统根据需要自动调节该行的layout_height)

2、单元格属性,有以下2个参数:

android:layout_column    指定该单元格在第几列显示

android:layout_span        指定该单元格占据的列数(未指定时,为1)

示例:

android:layout_column="1"    该控件显示在第1列

android:layout_span="2"        该控件占据2列

说明:一个控件也可以同时具备这两个特性。

                <TableLayout
android:id="@+id/MorePageTableLayout_Favorite"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:shrinkColumns="0"
android:stretchColumns="0" > <TableRow
android:id="@+id/more_page_row0"
android:layout_width="fill_parent"
android:layout_marginLeft="2.0dip"
android:layout_marginRight="2.0dip"
android:background="@drawable/more_item_press"
android:paddingBottom="16.0dip"
android:paddingTop="8.0dip" > <TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:drawableLeft="@drawable/mylike"
android:drawablePadding="10.0dip"
android:gravity="center_vertical"
android:includeFontPadding="false"
android:paddingLeft="17.0dip"
android:text="我的京东"
android:textColor="#ff333333"
android:textSize="16.0sp" /> <ImageView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:gravity="center_vertical"
android:paddingRight="20.0dip"
android:src="@drawable/ic_arrow" />
</TableRow>
</TableLayout>

其运行的相应效果图如下:

总结,一般TableLayOut的布局方式是使用较少的,但是像上面设置界面,TableLayout布局非常有用的。

最新文章

  1. 错误:违反并发性: DeleteCommand 影响了预期 1 条记录中的 0 条
  2. win7(x64)下安装cocos2d并编译安卓项目
  3. 操作各个版本的excel的链接写法
  4. Security.website-that-focus-on-mobile-app-security
  5. Java与邮件系统交互之使用Socket验证邮箱是否存在
  6. View (五)自定义View的实现方法
  7. Codeforces Round #Pi (Div. 2) D. One-Dimensional Battle Ships set乱搞
  8. printf,sprintf,vsprintf 区别【转】
  9. Android - 数据存储 -存储键值对
  10. 基于AXI4总线卷积FPGA加速IP核的尝试
  11. Hibernate(二):MySQL server version for the right syntax to use near &#39;type=InnoDB&#39; at line x
  12. css 椭圆样式
  13. Android连接服务器端的Socket
  14. css IFC 与 BFC分析
  15. Fib数列2 费马小定理+矩阵乘法
  16. 2019 Android 高级面试题总结
  17. ajax之async属性
  18. Arduino的光敏传感器和超声波测距传感器测试代码
  19. SQL SERVER 2008 误删数据且无全备恢复方法
  20. PDFRender4NET的使用之pdf转图片

热门文章

  1. Myeclipse 安装离线adt的方法 ()
  2. 推荐大家使用的CSS书写规范、顺序
  3. Twitter的分布式自增ID算法snowflake (Java版)
  4. HTML超标记语言
  5. linux 怎么完全卸载mysql数据库
  6. [LeetCode][Java]Candy@LeetCode
  7. 一点一滴学shell
  8. dos2unix unix2dos
  9. TaskScheduler的启动
  10. vagrant 基本配置