Android开发从入门到放弃(6)使用TableLayout

来源:互联网 发布:nginx https 二级域名 编辑:程序博客网 时间:2024/06/04 17:58

本篇博客简单介绍下Android开发中TableLayout的用法。顾名思义,TableLayout是表格进行布局的。在HTML刚刚兴起的时候,最常用的布局就是使用表格进行布局,所以,用表格进行布局也是一种比较常用的做法。

你可以通过添加一个TableRow来增加一行,这个很好理解。每当TableRow内增加了一个控件,当前的TableRow就增加了一列,而整个TableLayout的列数是由TableRow的最大列数决定的。也就是说,如果一个TableLayout内包含三个TableRow,这三个TableRow内分别有3,5,8个控件的话,那么当前TableLayout的列是8。

默认情况下,在TableRow内添加的第一个控件就是第0列,第二个控件就是第1列,等等。但是这是可以被改变的。layout_column可以控制当前控件位于第几列,layout_span可以控制当前控件占据几列的空间。

每一列的列宽是由AndroidOS来决定的,默认情况下,每一列的宽度都是按照wrap_content的方式来分配,原则是宽度刚刚够用,但可以通过给TableLayout设置以下三个属性来改变:

  • stretchColumns:指定一列或多列,拉伸宽度来占据其余所有可用的宽度。
  • shrinkColumns:指定一列或多列,最大程度减小其占用的宽度。
  • collapseColumns:指定一列或多列,隐藏。

下面来看一个简单的使用TableLayout的例子

<?xml version="1.0" encoding="utf-8"?><TableLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/activity_table_layout"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    android:stretchColumns="1"    android:collapseColumns="4"    tools:context="com.example.zdk.relativelayoutdemo.TableLayoutActivity">    <TableRow>        <TextView            android:text="username"/>        <EditText            android:hint="input your username"            android:layout_span="3"/>        <TextView            android:text="hello"/>    </TableRow>    <TableRow>        <Button android:layout_column="2" android:text="Cancel" />        <Button android:text="OK" />    </TableRow></TableLayout>
0 0
原创粉丝点击