前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Android从零单排系列三十一】《Android布局介绍——TableLayout》

【Android从零单排系列三十一】《Android布局介绍——TableLayout》

作者头像
再见孙悟空_
发布2023-07-17 20:31:09
2140
发布2023-07-17 20:31:09
举报
文章被收录于专栏:【Android开发基础】

前言

小伙伴们,在上文中我们介绍了Android布局RelativeLayout,本文我们继续盘点介绍Android开发中另一个常见的布局,相对布局TableLayout。

一 TableLayout基本介绍

TableLayout是用于显示表格布局的Android布局容器。它以行和列的形式组织视图,使得视图可以以表格的形式排列。

二 TableLayout使用方法

TableLayout是一种用于创建表格布局的Android布局容器。下面是TableLayout的使用方法:

在XML布局文件中定义TableLayout:

代码语言:javascript
复制
<TableLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- 添加TableRows和TableCells -->

</TableLayout>

在TableLayout内部添加TableRows:

代码语言:javascript
复制
<TableLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TableRow>
        <!-- 添加TableCells -->
    </TableRow>

    <TableRow>
        <!-- 添加TableCells -->
    </TableRow>

    <!-- 可以添加多个TableRows -->

</TableLayout>

在每个TableRow中添加TableCells:

代码语言:javascript
复制
<TableRow>
    <TextView
        android:text="Cell 1" />

    <TextView
        android:text="Cell 2" />

    <!-- 可以添加多个TableCells -->

</TableRow>

可以在TableCells中添加任何视图,例如TextView、Button等。

设置TableLayout的属性:

  • android:layout_widthandroid:layout_height:设置TableLayout的宽度和高度。
  • android:stretchColumns:指定要拉伸的列索引(从0开始),使其占据可用空间的比例均衡分配,默认情况下所有列都具有相同的权重。
  • 其他属性:可以参考Android官方文档了解更多属性选项。

控制列的样式和行为:

  • 使用android:gravity属性来设置单元格(TableCell)中文本的对齐方式。
  • 使用其他视图属性(例如android:layout_widthandroid:layout_height等)来控制单元格中视图的大小。

三 TableLayout常见属性及方法

常见属性:

  1. android:layout_widthandroid:layout_height:设置TableLayout的宽度和高度。
  2. android:stretchColumns:指定要拉伸的列索引(从0开始),使其占据可用空间的比例均衡分配,默认情况下所有列都具有相同的权重。
  3. android:shrinkColumns:指定当存在额外空间时要缩小的列索引(从0开始)。
  4. android:collapseColumns:指定要折叠隐藏的列索引(从0开始)。
  5. android:background:设置TableLayout的背景颜色或背景图片。

常见方法:

  1. setColumnCollapsed(int columnIndex, boolean isCollapsed):将指定列折叠/展开。
  2. setColumnStretchable(int columnIndex, boolean isStretchable):设置指定列是否可以拉伸,即占据剩余空间。
  3. setColumnShrinkable(int columnIndex, boolean isShrinkable):设置指定列是否可以缩小,即在剩余空间不足时缩小。
  4. setGravity(int gravity):设置TableLayout中所有单元格的对齐方式。
  5. getLayoutParams():获取当前TableLayout的布局参数。
  6. requestLayout():请求重新计算TableLayout的布局。

四 TableLayout简单案例

以下是一个简单的TableLayout案例,演示如何创建一个包含两行三列的表格布局:

代码语言:javascript
复制
<TableLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <!-- 第一行 -->
    <TableRow>
        <TextView
            android:text="Cell 1"
            android:padding="8dp"
            android:background="#E0E0E0" />

        <TextView
            android:text="Cell 2"
            android:padding="8dp"
            android:background="#E0E0E0" />

        <TextView
            android:text="Cell 3"
            android:padding="8dp"
            android:background="#E0E0E0" />
    </TableRow>

    <!-- 第二行 -->
    <TableRow>
        <TextView
            android:text="Cell 4"
            android:padding="8dp"
            android:background="#FFFFFF" />

        <TextView
            android:text="Cell 5"
            android:padding="8dp"
            android:background="#FFFFFF" />

        <TextView
            android:text="Cell 6"
            android:padding="8dp"
            android:background="#FFFFFF" />
    </TableRow>

</TableLayout>

五 总结

TableLayout是用于创建表格布局的强大工具,适用于需要展示数据或按照表格形式排列视图的场景。通过合理使用TableLayout的属性和方法,可以实现各种复杂的表格布局需求。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一 TableLayout基本介绍
  • 二 TableLayout使用方法
  • 三 TableLayout常见属性及方法
  • 四 TableLayout简单案例
  • 五 总结
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档