android 单元布局,Visual Studio 开发安卓之布局-表格布局(TableLayout)

认识 TableLayout、TableRow

表格布局(TableLayout)的标签名称是 TableLayout,下有标签 TableRow。就像 HTML 的 table、tr 一样,但你会发现没有跟 td 对应的单元格标签。

原来,在这里,里面的控件就是单元格,直接把控件往 TableRow 中放就是了。

“单元格”的 layout_column

android:layout_width="match_parent"

android:layout_height="wrap_content">

第一行有两列。

第二行只有一列,该列默认是第 1 列。

第三行也只有一列,由于指定了 layout_column="1",所以该列为第 2 列(从 0 开始,layout_column="0" 才是第 1 列)。

效果如下:

1b3ddc85e516a6e051ce5d7905a2ca5f.png

如果这样写呢?

第一个按钮和第二个按钮,会不会交换位置呢?不会。第二个按钮的 android:layout_column 设置值无效,因为第一个按钮前面已经设置 1 了,所以第二个按钮必须设置为 > 1,或者不设置。

“单元格”的 layout_span

android:layout_width="match_parent"

android:layout_height="wrap_content">

和 HTML 的 colspan 意思相近,效果如下(注意:如果你用的其他控件,其宽度不一定会拉伸):

232155a23e7a73077c396f3d6422789c.png

TableLayout 属性 stretchColumns

stretchColumns 用于 TableLayout 标签,参数值为列序号(第 1 列为 0),多个列之间用逗号隔开。其效果嘛,就是尽量拉伸单元格。看示例:

android:layout_width="match_parent"

android:layout_height="wrap_content">

上述代码没有指定 stretchColumns,效果如下:

959e4ded11af243d15cbc6c490001d8e.png

再看看指定了的:

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:stretchColumns="0">

其效果就是该单元格(控件)尽量拉伸(挤满上层元素空白)(注意:如果你用的其他控件,其宽度不一定会拉伸):

69e19c9a3f48dad5ec89cf38e08b0c84.png

TableLayout 属性 shrinkColumns

shrinkColumns 用于 TableLayout 标签,和 stretchColumns 用法一样,但效果相反,就不贴代码了,只贴效果。

shrinkColumns 之前的效果:

579d2231506ae5abb22c5ca4998dee8d.png

shrinkColumns 之后的效果:

c12f4946d2599db852f58cf06c455004.png

TableLayout 属性 collapseColumns

collapseColumns 用于 TableLayout 标签,和 stretchColumns 用法一样。

它的意思就是隐藏指定的列,让指定的列不显示出来。注意:它和 HTML 中的边框 collapse 是两回事。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值