表格布局(TableLayout)及重要属性

别再只用LinearLayout了!Android Studio里TableLayout的3个隐藏属性,让你的表格布局更灵活 本文深入探讨Android Studio中TableLayout的3个隐藏属性(collapseColumns、stretchColumns、shrinkColumns),帮助开发者优化表格布局设计。通过实际案例展示如何实现动态列显示、智能宽度分配和内容自适应处理,提升代码简洁性和性能表现,适用于商品列表、数据报表等多种场景。 阅读详情
TableLayout属性:
    android:collapseColumns:将TableLayout里面指定的列隐藏,若有多列需要隐藏,请用逗号将需要隐藏的列序号隔开。
    android:stretchColumns:设置指定的列为可伸展的列,以填满剩下的多余空白空间,若有多列需要设置为可伸展,请用逗号将需要伸展的列序号隔开。

    android:shrinkColumns:设置指定的列为可收缩的列。当可收缩的列太宽(内容过多)不会被挤出屏幕。当需要设置多列为可收缩时,将列序号用逗号隔开。


TableLayout继承了LinearLayout,本质上是线性布局。表格布局采用行,列形式来管理UI组件,是通过TableRow,其他组件来控制表格的行,列的

每次想TableLayout中添加一个TableRow,该TableRow就是一个表格行,TableRow也是容器,因此可以添加组件,没添加一个子组件该表格就增加一列。


<pre name="code" class="html"><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".AndroidTableLayoutActivity" >
 
    <!-- 定义第一个表格,指定第2列允许收缩,第3列允许拉伸 -->
 
    <TableLayout
        android:id="@+id/tablelayout01"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:shrinkColumns="1"
        android:stretchColumns="2" >
 
        <!-- 直接添加按钮,自己占用一行 -->
 
        <Button
            android:id="@+id/btn01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="独自一行" >
        </Button>
 
        <TableRow>
 
            <Button
                android:id="@+id/btn02"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="普通" >
            </Button>
 
            <Button
                android:id="@+id/btn03"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="允许被收缩" >
            </Button>
 
            <Button
                android:id="@+id/btn04"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="允许被拉伸允许被拉伸" >
            </Button>
        </TableRow>
    </TableLayout>
    <!-- 定义第2个表格,指定第2列隐藏 -->
 
    <TableLayout
        android:id="@+id/tablelayout02"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:collapseColumns="1" >
        <TableRow>
 
            <Button
                android:id="@+id/btn05"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="普通" >
            </Button>
 
            <Button
                android:id="@+id/btn06"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="被隐藏列" >
            </Button>
 
            <Button
                android:id="@+id/btn07"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="允许被拉伸" >
            </Button>
        </TableRow>
    </TableLayout>
    <!-- 定义第3个表格,指定第2列填满空白 -->
 
    <TableLayout
        android:id="@+id/tablelayout03"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:stretchColumns="1" >
 
        <TableRow>
 
            <Button
                android:id="@+id/btn08"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="普通" >
            </Button>
 
            <Button
                android:id="@+id/btn09"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="填满剩余空白" >
            </Button>
        </TableRow>
    </TableLayout>
   
 
</LinearLayout>



</pre><pre name="code" class="java"><img src="https://img-blog.youkuaiyun.com/20160104200926588?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

Android表格布局TableLayout实战:核心属性、动态添加行与避坑指南 在Android界面开发中,布局是构建用户界面的核心环节,选择合适的布局容器直接影响开发效率与页面性能。TableLayout作为一种基于行、列结构的表格布局,继承自LinearLayout,通过TableRow组织每一行,能直观地实现规整数据展示。其核心价值在于处理固定列数、内容对齐与自适应宽度等场景,配合shrinkColumns、stretchColumns等属性,可灵活控制列宽伸缩与内容换行,避免传统多层LinearLayout嵌套带来的层级过深问题。在实际项目中,TableLayout非常适合商品 阅读详情

相关推荐

Android开发笔记 TableLayout常用的属性介绍

TableLayout经常用到的属性有: android:collapseColumns:以第0行为序,隐藏指定的列: android:collapseColumns该属性为空时,效果如下图: 把android:collapseColumns=0,2————–》意思是把第0和第2列去掉,如下图: android:shrinkColumns:以第0行为序,自动延伸指定的列填充可用部分: 当LayoutRow里面的控件还没有布满布局时,shrinkColumns不起作用,如下图: 设置了shrinkColumns=0,1,2,布局完全没有改变,因为LayoutRow里面还剩足够的空间。 当L

android:TableLayout表格布局详解

这篇博文包括的内容: 1、TableLayout简介 2、TableLayout行列数的确定 3、TableLayout可设置的属性详解 4、一个包含4个TableLayout布局的实例及效果图 一、Tablelayout简介 Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。 当为TableRow对象时,可...

web开发 1249

lego-loam featureAssociation 源码注释(五)

上一次我们已经看完了特征提取,这次我们进入特征匹配的内容!!!systemInitedLM的初始值为false。

Joeybee的博客 889

表格布局简单了解

表格布局简单了解一、table标签1.table 标签定义 HTML 表格。2.table标签可选属性二、表格布局1.thead、tbody和tfoot布局2.常用属性——border3.表格的嵌套4.表格的合并总结 一、table标签 1.table 标签定义 HTML 表格。 简单的 HTML 表格由 table 元素以及一个或多个 tr、th 或 td 元素组成。 tr 元素定义表格行,th 元素定义表头,td 元素定义表格单元。 更复杂的 HTML 表格也可能包括 caption、col、colg

Miracle_ze的博客 3024

5G NR PDCCH实战解析:从DCI格式到CORESET配置的完整指南

本文深入解析5G NR PDCCH的实战配置,涵盖DCI格式选择、CORESET配置及Search Space优化等关键内容。基于3GPP R16标准,提供现网部署中的典型问题解决方案,如覆盖边缘失步、多用户调度冲突等,帮助提升控制信令传输效率。特别针对5G NR PDCCH的灵活资源分配和自适应编码机制进行详细探讨。

weixin_29231263的博客 499

Windows 10/11 零基础配置 SillyTavern 连接 Claude API 完整指南(含 Node.js 环境搭建)

本文提供Windows 10/11系统下零基础配置SillyTavern连接Claude API的完整教程,涵盖Node.js环境搭建、SillyTavern初始化及API连接配置等关键步骤。通过详细的操作指南和实用技巧,帮助用户快速搭建AI聊天界面并优化对话体验,实现与Claude AI的高效交互。

weixin_30642561的博客 134

TableLayout的属性

自动扩展有时我们一行可能只有一列,然后下面一行的列数大于一列。那要让特定的列数自动伸展,就得使用 android:strechColumns=”” 表示如果后面有剩下位置,则将各列都伸展,如果* 换成0,则表示第1列伸展,1表示第二列。 TableRow下控件属性:android:layout_span=”n” 表示该控件的占n列。两个结合在一起使用效果最好。 我的表格最多有两列,然后也有一列

BenjaminYoung29的博客 987

tablelayout标线

&lt;TableLayout android:showDividers="middle|beginning|end" android:divider="@drawable/shape_table_diver"  &gt; &lt;/TableLayout&gt;&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt

朴勇佑的专栏 407

Jetson Nano官方镜像下载&烧录

在NVIDIA Jetson Nano开发者套件上安装NVIDIA官方Ubuntu镜像

weixin_44222088的博客 8854

simulink调用C代码函数-C Caller模块

simulink中如何调用写好的C代码函数?使用C Caller模块调用C代码。

weixin_40531919的博客 5674

android表格布局的属性,android:TableLayout表格布局详解

这篇博文包括的内容:1、TableLayout简介2、****TableLayout行列数的确定3、****TableLayout可设置的属性详解4、一个包含4个TableLayout布局的实例及效果图一、Tablelayout简介Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。当为TableRow对象时,可在TableRow下添加子控件...

weixin_35545782的博客 1673

Android车载蓝牙开发全攻略:从基础到高级优化

本文系统介绍了Android车载蓝牙开发的核心技术与实践指南。文章首先阐述了蓝牙在智能汽车中的关键作用,包括免提通话、音频流媒体等应用场景。随后详细解析了蓝牙协议基础,重点介绍了HFP、A2DP等车载常用协议。开发实战部分提供了设备发现、连接、数据传输的完整代码示例,并融入多线程和内存优化技巧。通过真实车载案例,展示了启动时间、流畅度和资源使用的优化策略。最后针对面试需求,提供了专业的技术问答,涵盖蓝牙开发全流程。全文紧密结合Android车载开发职位要求,为开发者提供了一套完整的蓝牙技术解决方案。

郑伟强dev的专栏 119

android 统一布局属性,android:TableLayout表格布局详解

这篇博文包括的内容:1、TableLayout简介2、TableLayout行列数的确定3、TableLayout可设置的属性详解4、一个包含4个TableLayout布局的实例及效果图一、Tablelayout简介Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每...

weixin_30842027的博客 306

HFSS 3D Layout仿真PCB操作说明

本文介绍一种特别适合PCB这种叠层结构的仿真软件,HFSS 3D Layout既有操作的简便性,又有同3D软件仿真所有的精确性,仿真速度上又比3D软件快很多。

sinat_15150363的博客 3943

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Android 布局详解 -三表格布局(TableLayout)以及重要属性

三表格布局(TableLayout)以及重要属性 原文https://my.oschina.net/u/1418901/blog/184627           TableLayout跟TableRow 是一组搭配应用的布局,TableLayout置底,TableRow在TableLayout的上方,而Button、TextView等控件就在TableRow之上,别的,TableLayout

Porfirio 1308

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

android布局表格布局,Android布局之表格布局TableLayout详解

本文实例为大家分享了Android表格布局TableLayout的具体代码,供大家参考,具体内容如下1.TableLayoutTableLayout表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象, 当然也可以使一个View的对象2.TableLayout的属性(全局属性)android:collapseColumns=”1,2”隐藏从0开始的索引列,列之间必须用逗号隔开1,...

weixin_32532029的博客 611

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

9 表格布局——TableLayout

学完了 Android 两个经典布局,是不是觉得已经可以应对大多数场景了?我记得当我学完 LinearLayout 和 RelativeLayout 之后,我觉得 UI 布局已经可以出师了,在本人从事了多年的 Android 研究之后,可以很负责任的告诉你,的确可以出师了。大多数场景都可以通过这两个布局方式组合出来,不过光靠这两招出师可能会走不少弯路,因为 Google 还为我们提供了很多实用的 Layout,比如今天要学的 TableLayout,它是一种表格样式,在很多 App 里面都会用到。当然你完全

MC 的技术空间 970

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

小伙伴们,在上文中我们介绍了Android布局RelativeLayout,本文我们继续盘点介绍Android开发中另一个常见的布局,相对布局TableLayout。TableLayout是用于显示表格布局的Android布局容器。它以行和列的形式组织视图,使得视图可以以表格的形式排列。TableLayout是用于创建表格布局的强大工具,适用于需要展示数据或按照表格形式排列视图的场景。通过合理使用TableLayout的属性和方法,可以实现各种复杂的表格布局需求。

商务合作|问题讨论|交流学习 请联系作者微信,加微信请务必注明来意,博客主页有联系方式 2144

Android布局之表格布局

表格布局(Tablelayout)   简介:             Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。          当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列。          当为View时,该View将独占一行。 表格布局是以行和列的形式来对控件...

墨漓 9231

android表格布局占满整行,Android布局之表格布局TableLayout详解

本文实例为大家分享了Android表格布局TableLayout的具体代码,供大家参考,具体内容如下1.TableLayoutTableLayout表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象, 当然也可以使一个View的对象2.TableLayout的属性(全局属性)android:collapseColumns=”1,2”隐藏从0开始的索引列,列之间必须用逗号隔开1,...

weixin_26757949的博客 1816

android表格布局最后一个组件,Android布局之表格布局TableLayout详解

本文实例为大家分享了Android表格布局TableLayout的具体代码,供大家参考,具体内容如下1.TableLayoutTableLayout表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象, 当然也可以使一个View的对象2.TableLayout的属性(全局属性)android:collapseColumns=”1,2”隐藏从0开始的索引列,列之间必须用逗号隔开1,...

weixin_30569443的博客 243
上一篇: Eclipse搭建android环境及Genymotion模拟器安装问题解决方法
下一篇: 帧布局(FrameLayout)及属性
tuke_tuke
博客等级 码龄11年 532粉丝 288原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值