Android布局之TableLayout-TableRow布局

 代码如下 复制代码

<?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>
 <TextView
 android:text="column1"
 android:padding="3dip" />
 <TextView
 android:text="column2"
 android:padding="3dip" />
 <TextView
 android:text="column3"
 android:padding="3dip" />
 </TableRow>
 
 <TableRow>
 <TextView
 android:text="column11"
 android:visibility="invisible"/> //cell不见了
 <TextView
 android:text="左边的invisible"
 android:gravity="right"
 android:padding="3dip" />
 <Button
 android:id="@+id/go"
 android:text="go"
 android:padding="3dip" />
 <Button
 android:text="cancel"
 android:padding="3dip" />
 </TableRow>
 
 <View //间隔线
 android:layout_height="2dip"
 android:background="#F00" />
 
 <TableRow>
 <TextView
 android:text="右边的cell empty" />
 <TextView
 android:layout_column="2"
 android:text="跳开empty cell"
 android:padding="3dip" />
 </TableRow>
 
 <TableRow>
 <TextView
 android:text="合并3个单元格"
 android:layout_span="3"
 android:gravity="center_horizontal"
 android:background="#FFC0C0C0"
 android:textColor="#f00"
 android:padding="3dip" />
 </TableRow>
</TableLayout>

TableLayout跟TableRow是一组搭配使用的布局,TableLayout置底,TableRow在TableLayout的上面,而Button、TextView等控件就在TableRow之上,另外,TableLayout之上也可以单独放控件。TableLayout是一个使用复杂的布局,最简单的用法就仅仅是拖拉控件做出个界面,但实际上,会经常在代码里使用TableLayout,例如做出表格的效果。本文主要介绍TableLayout的基本使用方法。

TableLayout经常用的属性是:

android:collapseColumns:以第0行为序,隐藏指定的列:

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

把android:collapseColumns=0,2————–》意思是把第0和第2列去掉,如下图:

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

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

设置了shrinkColumns=0,1,2,布局完全没有改变,因为LayoutRow里面还剩足够的空间。

当LayoutRow布满控件时,如下图:

设置设置了shrinkColumns=2,则结果如下图,控件自动向垂直方向填充空间:

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

设置stretchColumns=1,则结果如下图,第1列被尽量填充(Button02与TextView02同时向右填充,直到TextView03被压挤到最后边)。

Android的TableLayout + TableRow虽然使用有点复杂,但是功能很强大。。。。。。Android提供了很多布局属性,但是手机程序的界面没有PC那么花俏,所以常用的就那几项而已。。。

时间: 2024-09-09 10:13:42

Android布局之TableLayout-TableRow布局的相关文章

Android开发之TableLayout表格布局_Android

表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象.TableRow可以添加子控件,每添加一个为一列. TableLayout属性: android:collapseColumns:将TableLayout里面指定的列隐藏,若有多列需要隐藏,请用逗号将需要隐藏的列序号隔开.             android:stretchColumns:设置指定的列为可伸展的列,以填满剩下的多余空白空间,若有多列需要设置为可伸展,请用逗号将需要伸展的列序

Android开发之TableLayout表格布局

表格布局模型以行列的形式管理子控件,每一行为一个TableRow的对象,当然也可以是一个View的对象.TableRow可以添加子控件,每添加一个为一列. TableLayout属性: android:collapseColumns:将TableLayout里面指定的列隐藏,若有多列需要隐藏,请用逗号将需要隐藏的列序号隔开. android:stretchColumns:设置指定的列为可伸展的列,以填满剩下的多余空白空间,若有多列需要设置为可伸展,请用逗号将需要伸展的列序号隔开. android

Android开发入门(五)屏幕组件 5.4 TableLayout表格布局

TableLayout可以把视图views组织成"行"或"列".可以使用<TableRow>元素指定表格中的一行 .每一行又可以包含一个或多个视图.每行中的每个视图组成了表格的一个元素.每列的宽度,取决于这一 列中宽度最大的视图view. 观察main.xml中的代码: <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:androi

Android零基础入门第29节:善用TableLayout表格布局,事半功倍

原文:Android零基础入门第29节:善用TableLayout表格布局,事半功倍 前面学习了线性布局和相对布局,线性布局虽然方便,但如果遇到控件需要排列整齐的情况就很难达到要求,用相对布局又比较麻烦,为此Android系统中提供了表格布局.     一.认识TableLayout 表格布局就是让控件以表格的形式来排列控件,只要将控件放在单元格中,控件就可以整齐地排列,使用TableLayout标签. TableLayout继承了 LinearLayout,因此它的本质依然是线性布局管理器.每

详解Android TableLayout表格布局_Android

表格布局的标签是TableLayout,TableLayout继承了LinearLayout.所以它依然是一个线性布局. 前言: 1.TableLayout简介 2.TableLayout行列数的确定 3.TableLayout可设置的属性详解 4.一个包含4个TableLayout布局的实例及效果图 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="h

android 纯代码TableLayout布局

问题描述 谁可以帮忙写个纯代码的表格布局示例: 样式 : topleft center right bottom 问题补充:对不起,不要XML文件方式...请用JAVA写.地狱牢笼 写道 解决方案 main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

详解Android TableLayout表格布局

表格布局的标签是TableLayout,TableLayout继承了LinearLayout.所以它依然是一个线性布局. 前言: 1.TableLayout简介 2.TableLayout行列数的确定 3.TableLayout可设置的属性详解 4.一个包含4个TableLayout布局的实例及效果图 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="h

TableLayout表格布局详解

一.Tablelayout简介       Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件.当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列. 当为View时,该View将独占一行. 二.TableLayout行列数的确定(最大的原则)      TableLayout的行数由开发人员直接指定,即有多少个TableRow对象(或View控件),就有多少行.TableLayout的列数等于含有最

Android用户界面设计:表格布局

表格布局图可以用来显示表格式数据或者像网页上的HTML表格一样制作排列整齐的界面.本教程讲述如何分别运用XML布局文件和通过代码来创建表格布局. 理解布局对于良好的Android程序设计来说是非常重要的.在这个教程里,你将学到所以关于框架布局的知识,它主要用于在界面上以整洁的行和列方式组织用户界面控件或小工具.使用得当的话,表格布局图可以成为强大的范例,Android程序可以基于它们设计他们的界面和显示表格数据. &http://www.aliyun.com/zixun/aggregation/

Android App界面的ListView布局实战演练_Android

一.继承listActivity.使用arrayAdapter使用ListView和arrayAdapter布局,是ListView布局中最为简单的一种,首先我们会建立一个组件用来显示数据,例如main.xml <?xml version="1.0" encoding="utf-8"?> <!-- 主界面本身就是一个显示组件 --> <TextView xmlns:android="http://schemas.android