iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 14
0
Mobile Development

Android開發系列 第 14

[Day14] 簡單的TableLayout

  • 分享至 

  • xImage
  •  

哈摟大家好今天我會來示範TableLayout-表格布局,各位如果有使用過Word的表格話那TableLayout很容易就可以上手了,設計者可以使用它來將要使用的元件放入表格的位置,那在今天的示範中我會將TextView放入表格位置中,廢話不多說我們就開始吧!

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:collapseColumns="0"
        android:stretchColumns="1,2">

        <TableRow>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#8399DA"
                android:text="TextView_1" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#4D70D8"
                android:text="TextView_2" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#0D41DD"
                android:text="TextView_3" />

        </TableRow>

    </TableLayout>

    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:shrinkColumns="0"
        android:stretchColumns="0">

        <TableRow>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#E39393"
                android:text="TextView_4" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:background="#E36464"
                android:text="TextView_5" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#E82D2D"
                android:text="TextView_6" />
        </TableRow>

        <TableRow>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#D1C081"
                android:text="TextView_7" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_span="2"
                android:background="#EAC334"
                android:text="TextView_8" />

        </TableRow>

    </TableLayout>

    <TableLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:stretchColumns="0">

        <TableRow>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="#C191E3"
                android:text="TextView_9" />

        </TableRow>

    </TableLayout>


</LinearLayout>

由於今天示範TableLayout所以我只會用到xml的畫面,MainActivity的程式碼就不用動,而畫面我使用LinearLayout,因為比較方便排版。

  • collapseColumns 將指定的列(Column)給隱藏,如果要隱藏多個Column的話可以用"逗號,"隔開,一般起始值由0開始。 ex: android:collapseColumns="0,1"的話就是將第一列第二列給隱藏

  • stretchColumns 將指定的Column設置為可延伸填滿剩餘的空格,起始值一樣由0開始。
    在範例裡的第一個TableLayout我是將第一列給隱藏,然後將第二列第三列填滿。

  • shrinkColumns 將指定的列設為可收缩的列,起始值為0

在第二個TableLayout裡,TextView7由於和TextView4在同一個TableLayout裡面,所以TextView7的範圍和TextView4一樣,然後"*" 可以代表所有的Column。

今天的示範就到這了,謝謝大家的觀看。


上一篇
[Day13]簡單的RadioButton
下一篇
[Day15]簡單的GridLayout
系列文
Android開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言