TableLayout 和 GridLayout 的区别

本文详细介绍了TableLayout和GridLayout的区别,TableLayout不需要预先声明行列数,通过TableRow添加组件来控制,适合简单表格布局,但无法跨行跨列。GridLayout则能预先定义行列并支持组件跨行/列,更灵活,能实现隔行/隔列效果,通过layout_columnWeight和layout_rowWeight调整组件大小比例。
摘要由CSDN通过智能技术生成

TableLayout 和 GridLayout 的区别

一. TableLayout

  • 继承LinearLayout
  • 不需要明确的申明包含多少行多少列
  • 通过添加 TableRow / 其他组件 来控制表格的行数和列数
  • 单元格设置格式有3种:Shrinkable(可收缩),Stretchable(可拉伸),Collapsed(隐藏的)

运用TableLayout只能通过添加TableRow或者组件来增加行和列。当直接添加组件的时候,组件独自占用一行。当添加TableRow时,该布局增加了一行,并且在TableRow里每添加一个组件,便增加一列。

TableLayout无法做出跨行跨列的效果,每行每列都是挨着的,就算是单元格设置Collapsed属性,如果后面有组件,也会填充上来。

<!--定义一个表格布局,指定第2 列可收缩,第3 列隐藏,第4列可拉伸-->
    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/table01"
        android:shrinkColumns="1"
        android:collapseColumns="2"
        android:stretchColumns="3">

<!--直接添加一个按钮,会直接占用一行-->
           <Button android:id="@+id/ok1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="独自一行的按钮ok1"/>


<!--在TableRow添加加一个按钮,会添加一列-->
        <TableRow>
            <Button android:id="@+id/ok2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="普通按钮"/>
            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值