一、Tablelayout简介

Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列。当为View时,该View将独占一行。

二、TableLayout行列数的确定(最大的原则)

TableLayout的行数由开发人员直接指定,即有多少个TableRow对象(或View控件),就有多少行。TableLayout的列数等于含有最多子控件的TableRow的列数。如第一TableRow含2个子控件,第二个TableRow含3个,第三个TableRow含4个,那么该TableLayout的列数为4.

三、TableLayout可设置的属性详解

总体了,这个TableLayout的属性和html中Table标签的属性差不多。他的各个属性如下:

TableLayout可设置的属性包括全局属性及单元格属性。

1、全局属性也即列属性,有以下3个参数:

android:stretchColumns    设置可伸展的列。该列可以向行方向伸展,最多可占据一整行。

android:shrinkColumns     设置可收缩的列。当该列子控件的内容太多,已经挤满所在行,那么该子控件的内容将往列方向显示。

android:collapseColumns 设置要隐藏的列。

示例:

android:stretchColumns="0"           第0列可伸展

android:shrinkColumns="1,2"         第1,2列皆可收缩

android:collapseColumns="*"         隐藏所有行

说明:列可以同时具备stretchColumns及shrinkColumns属性,若此,那么当该列的内容N多时,将“多行”显示其内容。(这里不是真正的多行,而是系统根据需要自动调节该行的layout_height)

2、单元格属性,有以下2个参数:

android:layout_column    指定该单元格在第几列显示

android:layout_span        指定该单元格占据的列数(未指定时,为1)

示例:

android:layout_column="1"    该控件显示在第1列

android:layout_span="2"        该控件占据2列

说明:一个控件也可以同时具备这两个特性。

其运行的相应效果图如下:

总结,一般TableLayOut的布局方式是使用较少的,但是像上面设置界面,TableLayout布局非常有用的。

一:TableLayout是表格布局先上例子:

定义一个xml布局文件tablelayout.xml:

内容如下:

效果:

内容讲解:

TableLayout,表格布局采用行列形式管理UI组件,TableLayout不需要明确地声明有多少行和列,而是通过添加TableRow、其它组件来控制表格的行数、列数。  v每次向TableLayout添加一个TableRow,就是在向表格添加一行,TableRow也是容器,可以向TableRow中添加组件,每添加一个组件,即是添加一列。  v如果直接向TableLayout添加组件,则认为这个组件占用一行。  v表格布局中列的宽度即是每一列中最宽的组件的宽度。

android:collapseColumns="1---隐藏该TableLayout里的TableRow的列1,即第2列(从0开始计算),若有多列要隐藏,用“,”隔开。setColumnCollapsed(int,boolean)

android:stretchColumns=

android:shrinkColumns="1,2"-----设置列1、2为可收缩列。当LayoutRow里面的控件还没有布满布局时,shrinkColumns不起作用 setColumnCollapsed(int,boolean)

android:background="@drawable/picture_name"----本例中没有涉及此属性,它是要设置当前view 的背景图片,图片文件应该放在res文件夹下。

android:layout_column="1":表示控件放在标号为1的列上,标号是从0开始的  android:layout_span表示一个控件占几列空间  可以用”*”来表示所有列,同一列可以同时设置为shrinkable和stretchable

函数:

三:TableLayout实现边框

为了醒目,需要给TableLayout设定边框来区分不同的表格中的信息:

主要是通过设定TableLayout、TableRow 、View颜色反衬出边框的颜色。

例如TableLayout的android:layout_margin="2dip"设置为这个数字,在指定一个背景色android:background="#00ff00",它里面的颜色也是这样子的设置,就可以呈现出带边框的效果了。

(2)关于分割线:  我们可以通过在两个TableRow之间添加一个,并设置它的layout_height="1dip"和background来解决。但这样就多产生了一个View,有点浪费。  其实还可以设置TableRow的bottomMargin=1来产生一条分割线。3.滚动:

关于TableLayout和HorizontalScrollView一起使用时的宽度问题  我有一个TableLayout,它的内容是动态生成的。我遇到了下面的问题:  当动态生成的一行的内容太长时,靠右边的内容会被遮住了。于是我想要这个TableLayout在横向上可以滚动。  解决的办法是,用HorizontalScrollView包装TableLayout,这样,当内容很长时,就会出现横向滚动条。  像这样:

但此时又出现了另一个问题,加上HorizontalScrollView后,虽然我已经设了TableLayout的宽度是fill_parent。但当内容较少时,TableLayout还是根据内容自适应宽度,不能满屏。  此时,需要设置一个属性就能解决问题了。设置HorizontalScrollView的android:fillViewport="true"。也就是设置是否将HorizontalScrollView的内容宽度拉伸以适应视口(viewport)

android表格布局介绍,TableLayout表格布局详解相关推荐

  1. Android ART详细介绍及配置参数详解

    配置 ART 本文介绍了如何配置 ART 及其编译选项.讨论的主题包括:系统映像预编译配置.dex2oat 编译选项,以及如何在 system 分区空间.data 分区空间和性能这三者之间取得平衡. ...

  2. android表格布局最后一个组件,Android布局之TableLayout表格布局

    Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件.当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列 ...

  3. 【转】Android APK反编译就这么简单 详解(附图)

     转自:http://blog.csdn.net/vipzjyno1/article/details/21039349/ [置顶] Android APK反编译就这么简单 详解(附图) 分类: and ...

  4. android自定义view案例,Android自定义View的实现方法实例详解

    一.自绘控件 下面我们准备来自定义一个计数器View,这个View可以响应用户的点击事件,并自动记录一共点击了多少次.新建一个CounterView继承自View,代码如下所示: 可以看到,首先我们在 ...

  5. Android 各大厂面试题汇总与详解(持续更新)

    介绍 目前网络中出现了好多各种面试题的汇总,有真实的也有虚假的,所以今年我将会汇总各大公司面试比较常见的问题,逐一进行解答.会一直集成,也会收集大家提供的面试题,如有错误,请大家指出,经过排查存在,会 ...

  6. 融云android聊天界面,Android 融云IM集成以及使用详解(一)

    Android 融云IM集成以及使用详解(一) 集成 1.具体的集成步骤就不在详细介绍,我们只说干货,附上融云IM官方文档地址,里面有更为详细的集成介绍 https://www.rongcloud.c ...

  7. Android 融云IM集成以及使用详解(二)

    Android 融云IM集成以及使用详解(二) 上篇讲解了集成和好友列表和消息记录的使用,这篇将讲解聊天界面和群聊界面的使用 先附上一张效果图 先介绍布局文件 <LinearLayout xml ...

  8. android组件用法说明,Android第三方控件PhotoView使用方法详解

    Android第三方控件PhotoView使用方法详解 发布时间:2020-10-21 15:06:09 来源:脚本之家 阅读:74 作者:zhaihaohao1 PhotoView的简介: 这是一个 ...

  9. 框架详解_Qt开发技术:QtCharts(一)QtCharts基本介绍以及图表框架详解

    若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/ ...

  10. Android性能优化之APK瘦身详解(瘦身73%)

    image 公司项目在不断的改版迭代中,代码在不断的累加,终于apk包不负重负了,已经到了八十多M了.可能要换种方式表达,到目前为止没有正真的往外推过,一直在内部执行7天讨论需求,5天代码实现的阶段. ...

最新文章

  1. 论文标题,这么写才算好!
  2. 数据结构-----栈
  3. Android Handler、Loop 的简单使用
  4. 炸裂!微信支付的架构太牛了!(微信跨平台开发框架)
  5. SpriteBuilderamp;Cocos2D使用CCEffect特效实现天黑天亮过度效果
  6. 电影票APP原型设计分享– Movie Booking
  7. html5 颜色对应8进制,十进制字体颜色html代码参照表 rgb值颜色查询对照表
  8. Java计算长方体、四棱锥的表面积和体积
  9. 制作maven模板框架
  10. 信息安全技术——(十五)物联网关键技术
  11. PIX中Conduit命令用法
  12. EverEdit逆向 PE结构
  13. TI运放仿真软件TINA
  14. 电子邮件客户端:Mail Pilot 3 for Mac
  15. 充分必要条件与C语言,充分条件与必要条件知识点总结,高中数学充分条件与必要条件知识点总结...
  16. 考研数学汤家凤 暑期答疑合集
  17. Python学习教程(Python学习路线):Day14A-网络编程入门
  18. 根轨迹的基本概念与绘制
  19. 皇帝踏入31 克城冠军梦 时不我待
  20. FlexRay 简介

热门文章

  1. MPC控制笔记(一)
  2. php下载xlsx到本地,Laravel 5.8 实现Excel 下载(将信息数据导出成Excel下载到本地)...
  3. 高校学生社团管理系统
  4. 最简单的省市区三级联动
  5. 交换机VLAN 模式trunk和access 区别
  6. 谷歌大脑2017总结下篇:Jeff Dean梳理6大领域研究
  7. matlab对列矢量求方差,matlab 求标准差 std函数用法
  8. 各种redhat版本下载
  9. 声音信号处理基频检测和时频分析
  10. 保存为UTF-8格式的Txt文件