Android布局之TableLayout表格布局

时间:2022-03-14 07:04:50

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

三个常用的属性

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

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

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

学习导图

Android布局之TableLayout表格布局

(1)tablelayout的相关简介

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

(2)如何确定行数

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

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

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

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

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

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?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表格布局,希望大家喜欢。