TableLayout的行数由开发人员直接指定,即有多少个TableRow对象(或View控件),就有多少行。

TableLayout的列数等于含有最多子控件的TableRow的列数。如第一TableRow含2个子控件,第二个TableRow含3个,第三个TableRow含4个,那么该TableLayout的列数为4.

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 version="1.0" encoding="utf-8"?> 
 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
               android:layout_width="fill_parent" 
               android:layout_height="fill_parent" 
               >  
     <TableRow> 
     <Button  
         android:id="@+id/button1" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content"             
         android:text="Button1" 
         android:layout_column="0"/> 
      <Button  
          android:id="@+id/button2" 
          android:layout_width="wrap_content" 
          android:layout_height="wrap_content" 
          android:text="Hello, I am a Button2" 
          android:layout_column="1"/> 
     </TableRow> 
 </TableLayout>

1 android:stretchColumns = "指定的列" ------->以第0行为序,尽量把指定的列填充空白部分

设置stretchColumns=0,则结果如下图,第0列被尽量填充

设置stretchColumns=1,则结果如下图,第1列被尽量填充

2 android:shrinkColumns = "指定的列":以第0行为序,自动延伸指定的列填充可用部分

当LayoutRow里面的控件还没有布满布局时,shrinkColumns不起作用,如下图

当LayoutRow里面的控件还没有布满布局时(改写一下第三个Button的内容)

3 android:collapseColumns = “指定的列”  第0行为序,隐藏指定的列>

android:collapseColumns该属性为空时,如下图:

android:collapseColumns=“0”  意思是把第0列去掉,如下图:

引自:http://blog.csdn.net/zj0078/article/details/7390505

Android——TableLayout的更多相关文章

  1. Android TableLayout 常用的属性介绍及演示

    TableLayout经常用的属性是: 1.android:collapseColumns:以第0行为序,隐藏指定的列:把android:collapseColumns=0,2 意思是把第0和第2列隐 ...

  2. android TableLayOut画表格

    <TableRow android:layout_width="match_parent" android:layout_height="wrap_content& ...

  3. [Android] TableLayout

    public class TableLayout extends LinearLayout 查过文档,整理下要点: 一个 TableLayout 包含一些 TableRow 对象,每个对象代表一行.除 ...

  4. Android TableLayout中的使用说明

    TableLayout特点: 1)TableLayout和我们平时在网页上见到的Table有所不同,TableLayout没有边框的 2)它是由多个TableRow对象组成,每个TableRow可以有 ...

  5. android:TableLayout表格布局详解

    http://blog.csdn.net/justoneroad/article/details/6835915 这篇博文包括的内容:1.TableLayout简介2.TableLayout行列数的确 ...

  6. Android TableLayout 表格布局

    TableLayout继承LinearLayout 有多少个TableRow对象就有多少行, 列数等于最多子控件的TableRow的列数 直接在TableLayout加控件,控件会占据一行 Table ...

  7. android tablelayout 显示图片

    当在tablelayout中显示图片时,设置imageView为固定大小时,会出现divide by zero 错误 将LayoutParams 改为 TableRow.LayoutParams即可 ...

  8. android捕获ListView中每个item点击事件

    转自:http://www.cnblogs.com/pswzone/archive/2012/03/10/2389275.html package com.wps.android;   import  ...

  9. Android的学习第六章(布局一TableLayout)

    今天我们来简单的说一下Android不居中的TableLayout布局(表格布局) 表格布局的意思就是将我们的布局看做为一个表格,主要用于对控件进行整齐排列 我们看一个简单的案例 <TableL ...

随机推荐

  1. (转帖)BootStrap入门教程 (一)

      2011年,twitter的“一小撮”工程师为了提高他们内部的分析和管理能力,用业余时间为他们的产品构建了一套易用.优雅.灵活.可扩展的前端工具集--BootStrap.Bootstrap由MAR ...

  2. SharePoint 2010 最佳实践学习总结------第1章 SharePoint Foundation开发基础

    ----前言 这段时间项目出在验收阶段,不是很忙,就潜心把SharePoint学一下,不求有多深刻,初衷只是先入门再说.后续会发布一系列的学习总结.主要学习的书籍为<SharePoint2010 ...

  3. css3 文字闪动效果

    <div id="container"> 这里查看“<span class="blink">闪烁效果</span>”,ENj ...

  4. java连接mongodb的一个奇葩问题及奇葩解决方式

    昨天在eclipse中编写代码,本来连接mongodb进行各项操作都是正常的,但是有一会儿突然之间就没法连接了,还一直抱错,错误如下: 信息: Cluster created with setting ...

  5. ROM, RAM, Flash Memory

    ROM Read-only memory (ROM) is a class of storage medium used in computers and other electronic devic ...

  6. (C#) Lock - 将对象上锁,互斥多个线程,使同步。

    C# Lock 原文:http://www.dotnetperls.com/lock Locking is essential in threaded programs. It restricts c ...

  7. C#使用原生的Directx和OpenGL绘图

    原文 混合语言编程-C#使用原生的Directx和OpenGL绘图的方法 由于项目需要做一些图形展示,所以就想到了使用Directx和OpenGL来绘图,但项目准备使用C#来开发(大家比较熟悉C#), ...

  8. SCREAM:Error suppression ignored for

    wamp报错SCREAM:Error suppression ignored for 问题:SCREAM:Error suppression ignored for 解决: 在php.ini最下面加入 ...

  9. Android网络通信库Volley简介

    1. 什么是Volley 在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient( ...

  10. TNT平台

    1, TNT平台 本词条缺少信息栏.名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! TNT平台中的开发平台是基于微软Jupiter平台的快速开发工具,开发者可以通过界面属性设定的方法来 ...