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

本篇博客简单介绍下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的例子


<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>

你可能感兴趣的:(android开发从入门到放弃)