1. 程式人生 > >Android基礎_頁面佈局_TableLayout(表格佈局)

Android基礎_頁面佈局_TableLayout(表格佈局)

表格佈局模型以行列的形式管理子控制元件,每一行為一個TableRow的物件,當然也可以是一個View的物件。TableRow可以新增子控制元件,每新增一個為一列。

TableLayout屬性:

android:collapseColumns:將TableLayout裡面指定的列隱藏,若有多列需要隱藏,用逗號將需要隱藏的序列隔開即可。android:collapseColumns="1,3,4";

android:stretchColumns:設定指定的列為可伸展列,以填滿剩下的多餘的空白空間,若有多列需要設定,用逗號隔開。

android:shrinkColumns:設定指定的列為可收縮列,當可收縮的列太寬時內容不會內擠出螢幕,設定多列用逗號隔開。


TableRow屬性:

android:layout_column:設定該控制元件在TableRow中指定的列。

android:layout_span:設定列佔據幾列的寬度。

下面放個例子:

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

    <TableLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:stretchColumns="1" >

        <View
            android:layout_width="match_parent"
            android:layout_height="2dp"
            android:layout_margin="5dp"
            android:background="#00868B" />

        <EditText
            android:id="@+id/xml_showPower"
            android:layout_margin="5dp"
            android:enabled="false"
            android:focusable="false"
            android:gravity="center"
            android:hint="顯示電量" />

        <View
            android:layout_width="match_parent"
            android:layout_height="2dp"
            android:layout_margin="5dp"
            android:background="#00868B" />

        <TextView
            android:layout_width="match_parent"
            android:layout_margin="5dp"
            android:gravity="center"
            android:text="重啟、關閉服務、按鍵檢測" />

        <TableRow android:gravity="center_vertical" >
            <Button
                android:id="@+id/xml_restartService"
                android:text="重啟服務" />
            <EditText
                android:id="@+id/xml_key"
                android:enabled="false"
                android:focusable="false"
                android:hint="檢測按鍵" />
            <Button
                android:id="@+id/xml_closeService"
                android:text="關閉服務" />
        </TableRow>

        <View
            android:layout_width="match_parent"
            android:layout_height="2dp"
            android:layout_margin="5dp"
            android:background="#00868B" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:gravity="center"
            android:text="高頻RFID相關測試" />

        <TableRow android:gravity="center_vertical" >
            <Button
                android:id="@+id/xml_openHRFID"
                android:text="開啟模組" />
            <EditText
                android:id="@+id/xml_HRFIDSN"
                android:enabled="false"
                android:focusable="false"
                android:hint="卡片序列號" />
            <Button
                android:id="@+id/xml_closeHRFID"
                android:text="關閉模組" />
        </TableRow>

        <TableRow android:gravity="center_vertical" >
            <Button
                android:id="@+id/xml_readHData"
                android:text="讀資料" />
            <EditText
                android:id="@+id/xml_showReadHData"
                android:layout_span="2"
                android:focusable="false"
                android:enabled="false" />
        </TableRow>

        <TableRow android:gravity="center_vertical" >
            <Button
                android:id="@+id/xml_writeHData"
                android:text="寫資料" />
            <EditText
                android:id="@+id/xml_showWriteHData"
                android:layout_span="2"
                android:digits="0123456789abcdefABCDEF" />
        </TableRow>
        
        <View
            android:layout_width="match_parent"
            android:layout_height="2dp"
            android:layout_margin="5dp"
            android:background="#00868B" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:gravity="center"
            android:text="超高頻RFID相關測試" />
        
        <TableRow android:gravity="center_vertical">
            <Button 
                android:id="@+id/xml_openSRFID"
                android:text="開啟模組"/>
            <EditText 
                android:id="@+id/xml_SRFIDSN"
                android:enabled="false"
                android:focusable="false"
                android:hint="卡片序列號"/>
            <Button 
                android:id="@+id/xml_closeSRFID"
                android:text="關閉模組"/>
        </TableRow>
        
        <TableRow android:gravity="center_vertical">
        	<Button
                android:id="@+id/xml_readSRFIDStatus"
                android:text="詢問狀態" 
                android:layout_span="3"/>
        </TableRow>
        
        <TableRow android:gravity="center_vertical">
        	<Button
                android:id="@+id/xml_readSRFIDPower"
                android:text="讀取功率" />
            <EditText
                android:id="@+id/xml_showReadSRFIDPower"
                android:enabled="false"
                android:focusable="false"
                android:layout_span="2"/>
        </TableRow>
        
        <TableRow android:gravity="center_vertical">
        	<Button
                android:id="@+id/xml_writeSRFIDPower"
                android:text="設定功率" />
            <EditText
                android:id="@+id/xml_showWriteSRFIDPower"
                android:digits="0123456789"
                android:maxLength="2"
                android:layout_span="2"/>
        </TableRow>
        
    </TableLayout>

</ScrollView>