- 浏览: 413808 次
- 性别:
- 来自: 深圳
最新评论
-
huangzongwu:
很明显用HashMap<String, String&g ...
android 打开各种文件(setDataAndType) -
xunyixiangchao:
android 打开各种文件(setDataAndType) -
yong7356:
学习一下POST和GET的用法。。
android Post Get(普通) -
cinrry:
据我的理解,mapOverlay相当于C那个overlay的名 ...
在非Activity子类跳转 -
cinrry:
您好!请问您的解决方法中 BmapOverlay = new ...
在非Activity子类跳转
一直对表格布局的方式不是很明白,以为TableRow就是一行,然后在TableRow中提交控件就行,但是项目中遇到这个问题..用TableRow总出现不了想要的结果.看了下面这篇文章才解决问题.特转载......希望大家用的上..谢谢..
TableLayout和我们平时在网页上见到的Table有所不同,TableLayout没有边框的,它是由多个TableRow对象组成,每个TableRow可以有0个或多个单元格,每个单元格就是一个View。这些TableRow,单元格不能设置layout_width,宽度默认是fill_parent的,只有高度layout_height可以自定义,默认是wrap_content。
单元格可以为empty,并且通过android:layout_column可以设置index值实现跳开某些单元格。在TableRow之间,添加View,设置layout_height以及背景色,就可以实现一条间隔线。android:layout_span可以设置合并几个单元格:
- <?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>
没有设置收缩/伸展效果
注意,原来没有添加 android:padding="3dip" 的,发现那些column会凑在一起的,没有空白间隔!明显看到,那个cancel按钮被挤到几乎看不见了!这时候需要使用android:shrinkColumns="可收缩的column",android:stretchColumns="可伸展的column"。
android:shrinkColumns和android:stretchColumns的值都是以0开始的index,但必须是string值,即用"1,2,5"来表示。可以用"*"来表示all columns。而且同一column可以同时设置为shrinkable和stretchable。
如果使用TableLayout类的setColumnShrinkable/setColumnStretchable (int columnIndex, boolean isShrinkable)就麻烦些了,需要一个一个column来设置。也可以使用TableLayout的setShrinkAllColumns/setStretchAllColumns来设置all columns。
判断这些column是否shrinkable或stretchable,可以调用isColumnShrinkable/isColumnStretchable(int columnIndex),isShrinkAllColumns()/isStretchAllColumns()。
- <?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"
- android:shrinkColumns="0" > // 设置第一个column可收缩
- <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"/>
- <TextView
- android:text="左边的invisible"
- android:gravity="right"
- android:padding="3dip" />
- <Button
- android:id="@+id/go2"
- android:text="go2"
- 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" />
- <TextView
- android:text="123456789"
- android:padding="3dip" />
- </TableRow>
- </TableLayout>
可收缩column效果
现在可以看到第一个column为了让第4个column完整显示,而收缩得内容分为几行显示!
而可伸展column的效果就是在其他column可以完整显示时,该column就会伸展,占最多空间:
- <?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"
- android:stretchColumns="1"> // 设置第二个column可伸展
- <TableRow>
- <TextView
- android:text="column1"
- android:padding="3dip" />
- <TextView
- android:text="column2"
- android:gravity="right"
- android:padding="3dip" />
- <TextView
- android:text="column3"
- android:padding="3dip" />
- </TableRow>
- <TableRow>
- <TextView
- android:text="column1"
- android:padding="3dip" />
- <TextView
- android:text="column2"
- android:gravity="right"
- android:padding="3dip" />
- <TextView
- android:text="column3"
- android:padding="3dip" />
- </TableRow>
- </TableLayout>
可伸展column效果
而动态隐藏column,可以调用TableLayout.setColumnCollapsed (int columnIndex, boolean isCollapsed)来指定相应的column。另外TableLayout类的boolean isColumnCollapsed (int columnIndex)能够判断指定的column是否隐藏。
TableLayout可以用来做网页上的Form显示效果,看看官方的sample:
- <?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"
- android:stretchColumns="1">
- <TableRow>
- <TextView
- android:text="@string/table_layout_10_user"
- android:textStyle="bold"
- android:gravity="right"
- android:padding="3dip" />
- <EditText android:id="@+id/username"
- android:text="@string/table_layout_10_username_text"
- android:padding="3dip"
- android:scrollHorizontally="true" />
- </TableRow>
- <TableRow>
- <TextView
- android:text="@string/table_layout_10_password"
- android:textStyle="bold"
- android:gravity="right"
- android:padding="3dip" />
- <EditText android:id="@+id/password"
- android:text="@string/table_layout_10_password_text"
- android:password="true"
- android:padding="3dip"
- android:scrollHorizontally="true" />
- </TableRow>
- <TableRow
- android:gravity="right">
- <Button android:id="@+id/cancel"
- android:text="@string/table_layout_10_cancel" />
- <Button android:id="@+id/login"
- android:text="@string/table_layout_10_login" />
- </TableRow>
- </TableLayout>
Form效果
发表评论
-
ListView Item 与子控件焦点问题
2013-02-07 17:11 14217在项目中,item中有3个控件,其中有2个控件是可以正常获 ... -
ListView 各种细节
2012-12-12 17:39 2385根据:http://www.cnblogs.com/cais ... -
控件居于所有控件的顶层【控件总是最前】
2012-05-19 14:35 6607想拖动viewA控件,到屏幕任意位置。 但是当viewA控件 ... -
拖拽Listview 背景为黑色
2011-11-10 15:58 1024拖拽 ListView(据说GridView也有)是出现背景为 ... -
ImageVIew 设置图片大小
2011-11-04 16:58 33011转自: http://zkl-1987.iteye.co ... -
Android LIstView 友好度
2011-11-02 11:51 1275如果List所有的数据都为空的时候, Listview部分会 ... -
转 .用TextView实现Rich Text---在同一个TextView中设置不同的字体风格
2011-10-14 17:18 1712转自: http://blog.csdn.ne ... -
android 联系人 头像
2011-09-01 16:40 5751//设置头像(Android SDK 1.6以后联系人格 ... -
android checkBox 大小样式
2011-07-05 15:05 2521http://www.anddev.org/tutorial_ ... -
Android开发中如何使用绘制图表
2011-06-17 16:19 1278http://jackyrong.iteye.com/blog ... -
android RelativeLayout 相对布局
2011-06-14 16:05 1348第一类:属性值为true ... -
android tabhost学习
2011-06-08 11:16 12171.写好配置文件 tabhost.xml < ... -
android webView
2011-04-27 12:02 43921、添加权限:AndroidManif ... -
android 自定义spinner
2011-04-27 11:52 7963大家当看完这一片文章以后,我们就可以自定义spinner了 ... -
ExpandableListView列表自动更新
2011-04-27 11:50 1236附件中有个实例... 转自: http://www. ... -
带滚动条的 TextView
2011-04-27 11:14 1617本来是想做一个显示文字信息的,当文字很多时View的高 ... -
android 布局方式 像素单位
2011-04-25 22:19 6446像素:(建议用dp) q px(像素):屏幕 ... -
ArrayAdapter SimpleAdapter SimpleCursorAdapter 各种适配器的区别
2011-04-25 21:04 1790数据源不同而已1. String[]: ArrayAdapte ... -
android SlidingDrawer 抽屉
2011-04-25 17:01 2300注意点: 1.xml 中的ID <?xm ...
相关推荐
在Android开发中,TableLayout是布局管理器的一种,它允许开发者以表格的形式排列视图(Views)。本教程将深入探讨如何在Android应用中使用TableLayout来实现边框效果,同时结合提供的源码进行分析。 首先,...
`TableLayout`是Android提供的一种用于创建表格样式的布局,尤其适合展示数据或者组织组件。本篇文章将深入探讨如何使用`TableLayout`进行动态布局,结合实例来理解其用法。 `TableLayout`是`LinearLayout`的扩展,...
TableLayout是Android布局管理器中的一种,它是线性布局(LinearLayout)的扩展,主要用于构建类似电子表格的二维布局。TableLayout允许开发者创建一个由行和列组成的表格,非常适合展示数据或者创建复杂的表单。在...
TableLayout是Android提供的一个布局管理器,用于创建表格格式的用户界面。这篇文档主要探讨如何利用TableLayout布局来设计一个办公电话一览表。以下是对给定内容的详细解读: 1. **TableLayout基本介绍** ...
在Android开发中,TableLayout是一种常用的布局方式,它模仿了HTML中的表格,允许开发者以网格的形式组织视图组件。在本教程中,我们将深入探讨`TableLayout`的使用,包括其基本概念、属性以及如何在实际项目中创建...
在Android开发中,TableLayout是布局管理器的一种,它允许我们创建二维的表格形式的界面。这个组件在显示数据或创建表单时非常有用。本文将深入探讨如何利用TableLayout自动生成表格,以及相关的Android开发知识。 ...
TableLayout是Android SDK提供的一种布局方式,用于构建类似表格的界面结构。它允许开发者将屏幕空间分割成网格,并在这些网格中放置不同的UI组件,如TextView、EditText、Button等。 TableLayout本身并不显示网格...
Android 布局之表格布局 TableLayout 详解 Android 中的表格布局 TableLayout 是一种常用的布局方式,它可以按照行列的形式管理子控件,每一行为一个 TableRow 对象。下面将对 TableLayout 的用法和属性进行详细的...
在Android开发中,布局管理器是构建用户界面的关键组件,它们负责组织和定位应用程序中的视图元素。本篇文章将深入探讨两种常用的布局管理器:RelativeLayout和TableLayout。 **RelativeLayout** RelativeLayout是...
参考文献中提到的[1]陈树辉的文章《Android常用布局介绍》进一步深入介绍了Android布局系统,包括TableLayout在内的一些常见布局的使用方法和技巧,对于开发者来说是很好的学习资源。 总之,Android的TableLayout...
在Android开发中,TableLayout是一种常用的布局方式,它允许开发者以表格的形式组织用户界面元素。TableLayout继承自LinearLayout,因此它的基本布局特性是线性的,但增加了表格的特性,使得内容可以按照行列的方式...
首先,在res下面新建一个文件夹drawable,在drawable下面新建三个xml文件:shape_corner_down.xml、shape_corner_up.xml和shape_corner.xml,分别是下面两个角是圆角边框,上面两个角是圆角...solid android:color=#0
在Android开发中,布局设计是构建用户...总之,TableLayout是Android布局体系中一个实用的工具,尤其适用于数据展示和组织结构化的视图。通过熟练掌握其属性和用法,开发者能够创建出适应性强、易于阅读的用户界面。
在Android开发中,TableLayout是一种非常实用的布局组件,用于创建类似表格的结构,它可以很好地组织和对齐多个视图。这篇文档主要介绍了如何在代码中动态地添加数据到TableLayout,从而实现更加灵活的界面构建。 ...
在Android开发中,TableLayout是一种常用的布局方式,它允许开发者创建类似于电子表格的二维表格,非常适合用来展示数据或构建有结构的信息展示界面。本教学案例将指导你如何使用TableLayout来设计一个办公电话一览...
在Android XML布局文件中,TableLayout的根节点是`<TableLayout>`,而TableRow则是`<TableRow>`。 二、TableLayout的主要属性 1. `android:stretchColumns`:指定哪些列应该拉伸以填满TableLayout的宽度。值是一个...
这两种布局是Android开发中非常基础且常用的布局方式,它们可以灵活地组织和排列组件,以实现复杂的用户界面设计。 首先,LinearLayout是一种线性布局,它按照垂直或水平方向将子视图排列。你可以通过设置`android:...
在Android开发中,TableLayout是一种常用的布局方式,它允许开发者以表格的形式组织UI元素,尤其适合展示数据或者创建表单。下面将详细讲解TableLayout的关键特性和使用方法。 TableLayout的核心在于其以行列的方式...