TableLayout的理解

表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象。TableRow中可以添加子控件,每添加一个为一列。

在TableLayout中,TableRow子控件宽高自动默认,除非要自定义,否则不用定义width,height。默认值如下所示:

android:layout_width="match_parent"

android:layout_height="wrap_parent"

TableLayout中,TableRow表示每一行,至于有多少列,这是以所有TableRow控件中最多的那一个为标准。


TableRow之间,添加View,设置layout_height="1dip"以及背景色,就可以实现一条分割线。如下所示:

 <View

         android:layout_width="match_parent"

         android:layout_height="1dp"

         android:background="#ccccff" 

        />


对所有属性的参数值0,1,2等等说明,这里的0是指的第一列,1指的是第二列,以此类推与java中的数组顺序类似。

 全局属性(在TableLayout中设置)

1.android:collapseColumns作用是指定隐藏哪一列,若有多列需要隐藏,用逗号将需要隐藏的列写出来。例子如下:

android:collapseColumns="0"  表示隐藏第一列

 没有隐藏前的效果图:


隐藏第一列后的效果图:


android:collapseColumns="1,2"  

这表示要隐藏第二列和第三列,效果图如下:


2.android:shrinkColumns作用是设置该列为可收缩的列,防止挤出屏幕。

android:shrinkColumns="2"

表示设置第三列为可收缩的列。

没有设置之前的效果图:控件中的文字超出屏幕


设置后的效果图:控件中超出的文字自动换行显示



 3.android:stretchColumns作用是设置该列为可伸展的列,来填满剩下的多余空白空间。

  android:stretchColumns="2"

指定第三列为可伸展的列,填充剩余空白空间。

没有设置前效果图:第三列后面还有一小段空白。


设置后的效果图:第三列把后面的一小段空白填满了


局部属性(在TableRow子控件中设置)

1.android:layout_column作用是指定该控件为哪一列。

<TableRow>

 

        <Button

            android:layout_column="1" //指定为第二列

            android:text="四行一列" />

</TableRow>

没有指定前的效果图:默认为第一列


 指定后的效果图:排在了第二列

2. android:layout_span作用是设置该控件所占的列数。类似合并单元格的作用。

  <TableRow>

 

        <Button

            android:layout_span="2" //表示该一个控件要占两列 

            android:text="四行一列" />

</TableRow>

没有设置前的效果图:


 设置后的效果图:它一个控件占了两列





















 








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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值