一起Talk Android吧(第四百零二回:如何使用GridLayout布局)

各位看官们,大家好,上一回中咱们说的是"如何使用TableLayour布局"的例子,这一回中咱们介绍的例子是"如何使用GridLayout布局"。闲话休提,言归正转,让我们一起Talk Android吧!

使用背景

看官们,我们在上一章回中介绍了如何使用表格布局,本章回中将另外一种类似表格布局的布局:网络布局(GridLayout),网格布局的推出时间比表格布局晚一些,它也可以把布局中的UI控件排列成表格形状,本章回中将介绍如何使用网络布局。

行数与列数

网格中行数和列数使用属性rowCount和columnCount指定,GridLayout中可以包含其它的UI控件,控件依据行数与列数自动排列。总之,我们只需要给网格布局中
添加UI控件就可以了,布局会自动按照行数和列数来排列这些控件。这点与表格布局正好相反。

行宽和与列宽

网格布局中单元格的行宽和列高默认为WRAP_CONTENT。每行中子控件的宽度和高度可以自行指定,使用layout_width和layout_width属性来设置宽度和高度,这个和其它控件的指定方法相同。

同列中各个单元格的高度和宽度都可以不同,列的宽度等于同列中宽度值最大的单元格的宽度。
同行中各个单元格的高度和宽度都可以不同,行的高度等于同行中高度值最大的单元格的高度。

也可以使用layout_rowWeightlayout_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布局"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值