安卓表格布局android:collapseColumns,android:shrinkColumns和stretchColumn

安卓表格布局android:collapseColumns,android:shrinkColumns和stretchColumn - zj0078的专栏 - 博客频道 - CSDN.NET

TableLayout的行数由开发人员直接指定,即有多少个TableRow对象(或View控件),就有多少行。

?? ? ? ?TableLayout的列数等于含有最多子控件的TableRow的列数。如第一TableRow含2个子控件,第二个TableRow含3个,第三个TableRow含4个,那么该TableLayout的列数为4.



?

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是一个使用复杂的布局,最简单的用法就仅仅是拖拉控件做出个界面,但实际上,会经常在代码里使用TableLayout,例如做出表格的效果。本文主要介绍TableLayout的基本使用方法。

?
<?xml version="1.0" encoding="utf-8"?>?
?<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"?
?????????????? android:layout_width="fill_parent"?
?????????????? android:layout_height="fill_parent"?
?????????????? > ?
???? <TableRow>?
???? <Button??
???????? android:id="@+id/button1"?
???????? android:layout_width="wrap_content"?
???????? android:layout_height="wrap_content"?????????????
???????? android:text="Button1"?
???????? android:layout_column="0"/>?
?? ???<Button??
????????? android:id="@+id/button2"?
????????? android:layout_width="wrap_content"?
????????? android:layout_height="wrap_content"?
????????? android:text="Hello, I am a Button2"?
????????? android:layout_column="1"/>?
???? </TableRow>?
?</TableLayout>? ?

?

?

技术分享

1?android:stretchColumns = "指定的列"?------->以第0行为序,尽量把指定的列填充空白部分

设置stretchColumns=0,则结果如下图,第0列被尽量填充

技术分享

设置stretchColumns=1,则结果如下图,第1列被尽量填充

技术分享

?

2?android:shrinkColumns = "指定的列":以第0行为序,自动延伸指定的列填充可用部分

当LayoutRow里面的控件还没有布满布局时,shrinkColumns不起作用,如下图

技术分享

当LayoutRow里面的控件还没有布满布局时(改写一下第三个Button的内容)

技术分享

3 android:collapseColumns = “指定的列”? 第0行为序,隐藏指定的列>

android:collapseColumns该属性为空时,如下图:

技术分享

android:collapseColumns=“0” ?意思是把第0列去掉,如下图:

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。