详解android四种布局之TableLayout

原创 2016年08月30日 23:44:35

第二种布局: TableLayout

    TableLayout 允许我们使用表格的方式来排列控件,这种布局也不是很常用,你只需要 了解一下它的基本用法就可以了。既然是表格,那就一定会有行和列,在设计表格时我们 尽量应该让每一行都拥有相同的列数,这样的表格也是最简单的。不过有时候事情并非总会 顺从我们的心意,当表格的某行一定要有不相等的列数时,就需要通过合并单元格的方式来应对。 

1. TableLayout相对父布局进行定位

1.1 xml文件代码

<?xml version="1.0" encoding="utf-8"?>
<TableLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" >

    <TableRow> 
        <TextView 
            android:layout_height="wrap_content" 
            android:text="Account:" /> 
        <EditText 
            android:id="@+id/account" 
            android:layout_height="wrap_content" 
            android:hint="Input your account" /> 
    </TableRow>

    <TableRow> 
        <TextView 
            android:layout_height="wrap_content" 
            android:text="Password:" /> 
        <EditText 
            android:id="@+id/password" 
            android:layout_height="wrap_content" 
            android:inputType="textPassword" /> 
    </TableRow> 

    <TableRow> 
        <Button android:id="@+id/login" 
            android:layout_height="wrap_content" 
            android:layout_span="2" 
            android:text="Login" /> 
    </TableRow> 

</TableLayout> 

1.2 布局说明:

1.2.1 内部控件均在一行内每加一个TableRow则多出一行

1.2.2 EditText android:hint = “提示内容” 该内容可见,但不起作用

1.2.3 EditText android:inputType=”textPassword” 设置输入为密码格式,不可见

1.2.3 Button android:layout_span=”2” 设置控件占两个单元格。

注意:tablelayout布局与python的grid布局相似,所以可参考Python的grid布局


1.3 效果:

这里写图片描述

不足:

    从图中可以看出,当前的登录界面并没有充分利用屏幕的宽度,右侧还空出了一块区域。因为在TableRow中我们无法指定控件的宽度。这时使用 android:stretchColumns属性就可以很好地解决这个问题,它允许将 TableLayout中的某一列 进行拉伸,以达到自动适应屏幕宽度的作用。

android:stretchColumns的使用:

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:stretchColumns="1" >
……
</TableLayout>
说明:android:stretchColumns的值指定为 1,表示如果表格不能完全占满屏幕宽度,就将第二列进行拉伸。没错!指定成 1就是拉伸第二列,指定成 0就是拉伸第一列,不要以为 这里我写错了哦。

效果:

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android 四种基本布局LinearLayout、RelativeLayout、FrameLayout、TableLayout

LinearLayout 我们称其为线性布局,也是我们最常用的布局。此布局会把它所包含的控件在线性方向上依次排列。那决定是水平排列还是垂直排列就要依靠android:orientation属性来决...

android:TableLayout表格布局详解

android:stretchColumns="0"           第0列可伸展 android:shrinkColumns="1,2"         第1,2列皆可收缩...

android:TableLayout表格布局详解

这篇博文包括的内容: 1、TableLayout简介 2、TableLayout行列数的确定 3、TableLayout可设置的属性详解 4、一个包含4个TableLayout布局的实例及效果...

android:TableLayout 布局详解

这篇博文包括的内容: 1、TableLayout简介 2、TableLayout行列数的确定 3、TableLayout可设置的属性详解 4、一个包含4个TableLayout...

android:TableLayout表格布局详解

1、TableLayout简介 2、TableLayout行列数的确定 3、TableLayout可设置的属性详解 4、一个包含4个TableLayout布局的实例及效果图 一、Table...
  • xjbclz
  • xjbclz
  • 2016年11月05日 16:55
  • 434

android:TableLayout表格布局详解

这篇博文包括的内容: 1、TableLayout简介 2、TableLayout行列数的确定 3、TableLayout可设置的属性详解 4、一个包含4个TableLayout...

四种基本布局之四——TableLayout

TableLayout 允许使用表格的方式来排列控件,这种布局也不常用,只需了解基本用法即可。 既然是表格,就一定会有行和列,再设计表格是应让每一行都有相同的列数,这样的表格也最简单。 当表格的某...

Android表格布局TableLayout学习笔记

TableLayout继承了LinearLayout,因此它的本质依然是线性布局管理器。TableLayout并不需要明确的声明包含多少行、多少列,而是通过添加TableRow、其他组件来控制表格的行...

Android 使用 TableLayout 布局拉伸宽度 平均分布各列

布局文件:

浅谈Android五大布局(二)——RelativeLayout和TableLayout

在浅谈Android五大布局(一)中已经描述了LinearLayout(线性布局)、FrameLayout(单帧布局)和AbsoulteLayout(绝对布局)三种布局结构,剩下的两种布局Relati...
  • hhq163
  • hhq163
  • 2012年02月12日 13:56
  • 509
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:详解android四种布局之TableLayout
举报原因:
原因补充:

(最多只允许输入30个字)