各位看官们,大家好,上一回中咱们说的是"如何使用TableLayour布局"的例子,这一回中咱们介绍的例子是"如何使用GridLayout布局"。闲话休提,言归正转,让我们一起Talk Android吧!
使用背景
看官们,我们在上一章回中介绍了如何使用表格布局,本章回中将另外一种类似表格布局的布局:网络布局(GridLayout),网格布局的推出时间比表格布局晚一些,它也可以把布局中的UI控件排列成表格形状,本章回中将介绍如何使用网络布局。
行数与列数
网格中行数和列数使用属性rowCount和columnCount指定,GridLayout中可以包含其它的UI控件,控件依据行数与列数自动排列。总之,我们只需要给网格布局中
添加UI控件就可以了,布局会自动按照行数和列数来排列这些控件。这点与表格布局正好相反。
行宽和与列宽
网格布局中单元格的行宽和列高默认为WRAP_CONTENT
。每行中子控件的宽度和高度可以自行指定,使用layout_width和layout_width属性来设置宽度和高度,这个和其它控件的指定方法相同。
同列中各个单元格的高度和宽度都可以不同,列的宽度等于同列中宽度值最大的单元格的宽度。
同行中各个单元格的高度和宽度都可以不同,行的高度等于同行中高度值最大的单元格的高度。
也可以使用layout_rowWeight
和layout_columnWeight
属性,这样可以形成宽度和高度按照权重分配的表格,如果所有权重值为1,那么就会形成类似Excel表格一样的布局。
与表格布局相比,没有单独的行标签,不过在单元格的长度和宽度设置上二者完全相同,而且行宽和列高的计算方式也完全一样。
指定显示的行与列
网格布局提供了相关的属性来控制布局中单元格的显示,下面是属性名称以及使用方法。与表格布局相比,网格布局不能隐藏行与列,不过它可以指定单元格在哪行,哪列显示,而网格布局只能指定在哪行显示。下面是示例代码,请大家参考:
<!-- 指定在第2行或者列显示-->
android:layout_row="2"
android:layout_column="2"
跨行与列显示
网格布局提供了相关的属性来控制布局中单元格是否可以跨行或者跨列显示,以及跨越的行数和列数,下面是属性名称以及使用方法。
<!-- 单元格跨行与列显示-->
android:layout_rowSpan="3"
android:layout_columnSpan="2"
示例演示
下面是一个完整的示例,代码中的运行结果是一个五行三列的表格,大家可以在其中添加相关属性来操作表格中的行与列。
<GridLayout
android:rowCount="5"
android:columnCount="3"
android:layout_width="match_parent"
android:layout_height="400dp">
<TextView
android:text="1"/>
<TextView
android:text="2"/>
<TextView
android:text="3"/>
<TextView
android:text="4"/>
<TextView
android:text="6"/>
<TextView
android:text="7"/>
<TextView
android:text="8"/>
<TextView
android:text="9"/>
<TextView
android:text="A"/>
<TextView
android:text="B"/>
</GridLayout>
看官们,关于Android中"如何使用GridLayout布局"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!