详解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:两个Fragment在同一个Framelayout上切换显示

private String[] TAGS = new String[]{"tag1", "tag2"}; private void showFragment(Fragment from, ...
  • HMYANG314
  • HMYANG314
  • 2016年06月13日 10:41
  • 2369

TableLayout和Viewpager实现切换

因为我是在之前的基础上写的,所以这个TableLayout和Viewpager实际上是写在Fragment上的。要写到Activity里其实也是一样的啦。 先看效果图,原谅我不会动态图,只能截个...
  • xiangzhihong8
  • xiangzhihong8
  • 2016年07月05日 22:27
  • 4264

Android实现计算器布局(四种布局方式)之RelativeLayout相对布局

RelativeLayout相对布局 其他三种 1.LinearLayout线性布局实现计算器界面布局 2.TableLayout表格布局实现计算器界面布局 3.GridLayo...
  • Julse
  • Julse
  • 2017年03月31日 20:09
  • 1411

android studio 界面布局之表格布局

xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.android.com/apk/res/android" ...
  • xiewenhao12
  • xiewenhao12
  • 2018年01月22日 21:42
  • 47

TableLayout简单的写个表格布局

申明:此TableLayout非TabLayout!!! 此TableLayout非TabLayout!!! 此TableLayout非TabLayout!!!如图: 代码如下: ...
  • willba
  • willba
  • 2017年06月07日 21:07
  • 649

Android—TableLayout自定义表格

最近的一个项目中,需要用的表格,由于平时很少用到表格,所以,就准备到网上搜搜,发现可参考的很少,加上,自己也想多了解点TableLayout 布局,所欲就打算自己动手来实现自己需要的表格。先看看需求吧...
  • shoneworn
  • shoneworn
  • 2016年08月16日 17:28
  • 1293

修改TabLayout底部导航条Indicator的长短

关于Tablayout,使用的应该很频繁了,但是底部导航条长短是固定死的,需要自己来改动长短,找了半天没找着方法,看了下官方建议,可以通过映射来修改自己想要的长短,其实也就几行代码的问题,看代码: ...
  • hedong_77
  • hedong_77
  • 2016年10月30日 14:45
  • 7106

Android使用TableLayout之固定表头(标题栏)

TableLayout布局的效果就是整齐的表格,看着非常舒心。当遇到数据较多时,可以添加到ScrollView和HorizontalScrollView进行上下和左右的滑动。左右滑动的体验性一般比较合...
  • zh5640923
  • zh5640923
  • 2014年04月03日 17:04
  • 3312

TableLayout制作自定义可点击表格

  • 2016年08月17日 10:23
  • 6.44MB
  • 下载

【Android开发笔记】自定义表格控件 - TableView/TableLayout

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...
  • qq1076192306
  • qq1076192306
  • 2017年08月18日 14:34
  • 285
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:详解android四种布局之TableLayout
举报原因:
原因补充:

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