老王讲IT:Android应用开发第九章

老王讲IT——第九章

Android应用开发——TableLayout

这节课我们来学习tablelayout 表格布局 ,对于学习android来说我们还是

直接上代码来看它的效果是什么样子的。(创建一个项目)

一、常规使用

tablelayout:设置宽高属性(不设置布局),然后我们在tablelayout这个容器里面放一个button,然后设置宽高warpcontent,然后设置一个文本内容:android:text“第一个”,

这个时候我们发现我们布局的效果,我们发现我们的这个button整个占用了一行,但是我们实际上知道,我们的button正常设置成warp content它的大小只有这么大:

所以显然这一个显示是由我们的table layout导致的。这也是我们表格布局它的一个特征。

如果说你直接在table layout中直接写入控件,那么这个控件它占用一行的大小。

比方说我们再来一个button:文本改成第二个

是不是直接排在了我们的第二行。所以说你这样写的时候,一个控件就占用一行。

假如我想要多个控件占用一行,该怎么样呢:

这个时候我们就需要结合这个tablerow去进行一个使用:

Tablerow这个标签它表示一行 ,那么我们在tablerow这个标签里面添加的控件,

那么就都会放在我们tablerow这一行里面。比方说在这块我们把button复制放在这个tablerow里面。

如果想在添加一行tablerow:直接再写一行tablerow就好了:tablelayout它一般是和tablerow结合去使用的

那比方说我们在这里面多放几个button会是什么样子,这个时候我们的宽度超过了我们整个一行的大小,那么这个时候它不会自动换行,它是超出来的位置直接不显示。

这是我们的tablerow和tablelayout这个表格布局一个常规使用。

二、接着我们来看一看它的几个常见属性的使用

androld:collapseColums 设置需要被隐配的列的序号,从o开始
​
androld:streschColumns 说置允许被拉伸的列的列序号。从o开始
​
androId:shrinkColumns 设置允许被收缩的列的列序号。从o开始
​
子控件设置属性:
​
androld:layout_column 显示在第几列
​
android:layout_span 横向跨几列

1、设置需要被隐藏的列的序号,从0开始列,比方说我们的第二行,总共数的话就是有五列,那么第一个按钮,它所在的序号就是第0个,接着隐藏一下:android:collapsecolumns=”0”

我写0的话,我的第一个按钮,序号为0的是不就隐藏起来了。

假如我想要隐藏多列呢,我们写个0,2,3就可以了。

这个时候是不是我的第一个按钮和第三个按钮隐藏起来了。这个就是我们collapscolumns的一个使用。

接着我们来看下第二个属性:android:stretchColumns这个是设置允许被拉伸的列的列序号,也是从0开始,我们直接来用一下。那么这一个拉伸的话大家要注意,就是说拉伸需要有可以拉伸的位置。比方说我拉伸第一个:

是不是变长了?那我把隐藏去掉呢?我们的这一个按钮就没有被拉伸。

因为这个时候你的每一列已经是达到一个最大值了。所以说你拉伸不了,

所以说我们的这一个拉伸一定要是存在一个剩余空间。比方说:

因为这有剩余的空间。所以说你拉伸的时候就是占用的剩余空间:

接着我们来看第三个属性。android:shrinkColumns 设置允许被收缩的列的列序号,从o开始。

那么我们这一个的话我们把前面两个给它删掉,那么收缩它是干嘛的呢比方说我们的第五个按钮没有显示全,那么我这设置一个收缩看看是什么效果。android:shrinkColumns=“1” 收缩第二个按钮

这时候我们第二个按钮就收缩了,第五个按钮显示全了。当然这样一个情

况其实也是一样的,超出我们这个行的一个宽度,这个时候你收缩才是管

用的,比方说我把第五个按钮删掉:

大家可以看到我现在虽然第二个按钮也设置了收缩,但是第二个会收缩吗?

不会。所以说这个收缩也是有一定条件的。这是我们需要注意的三个属性。

三、子空间属性

android:layout_column 显示在第几列
android:layout_span 横向跨几列

那么这两个是什么意思呢?我们来看一下:比方说我们这两个按钮:

第一个按钮它一设置,肯定就是在第0列去显示的。但是现在我不想这样。

我改一下,我想让它在第二列去进行显示:android:layout_column=“2”

我直接写个2,它就在我们的第二列去显示了:

所以这个layout_column它是默认在第0列显示。如果你自己去设置,写啥就是啥。后边就是依次排在它的后面去显示。这个就是layout_column它的一个作用。

还有layout_span它是横向跨几列,那么这一个比方说我们这:我想要让它跨两列:android:layout_span=“2”

总结:实际上我们把这个tablelayout看作是我们平常的一个Excel表格,这种布局设置实际上就是一样的了。也就是说我们放这个控件的时候,你想让它放在哪一列你就把它放在哪一列。你想让这个控件占用几行就占用几行。这些就是我们tablelayout它的一个布局。
  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值