Android布局之TableLayout表格布局


Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。当为TableRow对象时,可在TableRow下添加子控件,默认情况下,每个子控件占据一列。 当为View时,该View将独占一行。

三个常用的属性

android:collapseColumns:设置需要被隐藏的列的序号

android:shrinkColumns:设置允许被收缩的列的列序号

android:stretchColumns:设置运行被拉伸的列的列序号

学习导图

(1)TableLayout的相关简介

  java的swing编程和html中经常会使用到表格,可见表格的应用开发中使用还是比较多的,同样android也为我们提供这样的布局方式。

(2)如何确定行数

  a:直接向TableLayout组件,直接占一行

  b:如果想在一行添加多个组件, 就需要使用TableRow中添加

  c:TableRow中有多少个组件,这一行就会有多少列

(3)三个常用属性(都是从零开始计数)

  Shrinkable:如果某一列被设置为Shrinkable,那么该列的所有单元格的宽度可以被收缩,以保证表格能适应父容器的宽度;

  Stretchable:如果某一列被设置为Stretchable,那么该列的所有单元格的宽度可以拉伸,以保证组件完全填充表格空余空间;

  Collapsed:如果某一列被设置为Collapsed,那么该列的所有单元格的都会被隐藏;

(4)使用实例(为了演示效果没有,所有组件都没有设置id)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical">
  <!--定义第一个表格布局,指定第二列允许收缩,第三列拉伸-->
  <TableLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:shrinkColumns="1"
    android:stretchColumns="2">
    <!-- 直接添加组件会独占一行-->
    <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="独自占一行"
      />
    <TableRow>
      <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="普通按钮"/>
      <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="收缩按钮"/>
      <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="拉伸按钮"/>
    </TableRow>
  </TableLayout>
  <!--定义第二个表格布局指定第二列隐藏-->
  <TableLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:collapseColumns="1">
    <!-- 直接添加组件会独占一行-->
    <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="独自占一行"
      />
    <TableRow>
      <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="普通按钮"/>
      <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="普通按钮"/>
      <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="普通按钮"/>
    </TableRow>
  </TableLayout>
  <!--定义第三个表格布局,指定第二列,第三列都可以被拉伸-->
  <TableLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:stretchColumns="1,2">
    <!-- 直接添加组件会独占一行-->
    <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="独自占一行"
      />
    <TableRow>
      <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="普通按钮"/>
      <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="拉伸按钮"/>
      <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="拉伸按钮"/>
    </TableRow>
  </TableLayout>
</LinearLayout>

以上内容是小编给大家介绍的android布局之TableLayout表格布局,希望大家喜欢。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3