android學習——TableLayout表格版面配置

來源:互聯網
上載者:User

標籤:

 TableLayout表格版面配置

  TableLayout是指將子項目的位置分配到行或列中。Android的一個TableLayout有許多TableRow組成,每一個TableRow都會定義一個Row。TableLayout容器不會顯示Row,Column,及Cell的邊框線,每個Row擁有0個或多個Cell,每個Cell擁有一個View對象。

  在使用tablelayout時,應注意每一個cell的寬度。

  我們下面通過XML布局和Java代碼布局兩種方式分別舉例:

一、XML方式布局

  1、建立一個空白Activity

  

  2、開啟“res/layout/activity_main.xml”檔案,修改成以下代碼。

  

  (1)第①部分

  <?xml version="1.0" encoding="utf-8" ?>,每個XML文檔都由XML序言開始,在前面的代碼中的第一行便是XML序言,<?xml version="1.0">。這行代碼錶示按照1.0版本的XML規則進行解析。encoding = "utf-8"表示此xml檔案採用utf-8的編碼格式。編碼格式也可以是GB2312。

  (2)第②部分

  <LinearLayout …… 表示採用表格版面配置管理器。

  (3)第③部分

  android:layout_width="match_parent" android:layout_height="match_parent"表示布局管理器寬度和高充將填充整個螢幕寬度和高度。

  (4)第④部分

  android:stretchColumns="1"表示表格版面配置管理器中第2列內組件可以擴充到的有可用空間。

  3、插入1行TableRow、1個文本TextView、1個TextEdit。

  

  4、開啟“res/layout/activity_main.xml”檔案,修改成以下代碼。

  

(1)第①部分

  <TableRow></TableRow>代表一行,可以在其中填充控制項。

  (2)第②部分

  添加一個標籤<TextView>。

  (3)第③部分

  添加一個編輯框<EditText>。

  5、依次再插入2行<TableRow>、密碼標籤<TextView>、密碼編輯框<EditText>、2個按鈕Button:註冊、登入。

  代碼如下:  

<?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"        android:stretchColumns="1">  //第一行    <TableRow        android:id="@+id/tableRow1"        android:layout_width="wrap_content"        android:layout_height="wrap_content" >        <TextView            android:id="@+id/tvUserName"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="使用者名稱:" />        <EditText            android:id="@+id/etUserName"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:ems="10" >            <requestFocus />        </EditText>    </TableRow>    //第二行    <TableRow        android:id="@+id/tableRow2"        android:layout_width="wrap_content"        android:layout_height="wrap_content" >        <TextView             android:text="登入密碼:"             android:textStyle="bold"            android:gravity="right"             android:padding="3dp" />         <EditText             android:id="@+id/password"             android:password="true"            android:padding="3dp"             android:scrollHorizontally="true" />     </TableRow>   //第三行          <TableRow        android:id="@+id/tableRow3"        android:layout_width="wrap_content"        android:layout_height="wrap_content" >        <Button             android:id="@+id/cancel"             android:text="註冊" />         <Button             android:id="@+id/login"             android:text="登入" />     </TableRow></TableLayout>


  6、最終顯示效果如下:

  

  附:表格版面配置常見屬性介紹

  (1)TableLayout行列數的確定
        TableLayout的行數由開發人員直接指定,即有多少個TableRow對象(或View控制項),就有多少行。

        TableLayout的列數等於含有最多子控制項的TableRow的列數。如第一TableRow含2個子控制項,第二個TableRow含3個,第三個TableRow含4個,那麼該TableLayout的列數為4.

  (2)TableLayout可設定的屬性詳解
  TableLayout可設定的屬性包括全域屬性及儲存格屬性。

  a)全域屬性也即列屬性,有以下3個參數:

  android:stretchColumns    設定可伸展的列。該列可以向行方向伸展,最多可佔據一整行。

  android:shrinkColumns     設定可收縮的列。當該列子控制項的內容太多,已經擠滿所在行,那麼該子控制項的內容將往列方向顯示。

  android:collapseColumns 設定要隱藏的列。

   樣本:

  android:stretchColumns="0"           第0列可伸展

  android:shrinkColumns="1,2"         第1,2列皆可收縮

  android:collapseColumns="*"         隱藏所有行

  說明:列可以同時具備stretchColumns及shrinkColumns屬性,若此,那麼當該列的內容N多時,將“多行”顯示其內容。(這裡不是真正的多行,而是系統根據需要自動調節該行的layout_height)

  b)儲存格屬性,有以下2個參數:

  android:layout_column    指定該儲存格在第幾列顯示

  android:layout_span        指定該儲存格佔據的列數(未指定時,為1)

  樣本:

  android:layout_column="1"    該控制項顯示在第1列

  android:layout_span="2"        該控制項佔據2列

  說明:一個控制項也可以同時具備這兩個特性。

 

二、Java代碼方式布局

  上面我們已經瞭解採用XML進行LinearLayout布局,我們現在再來學習一下如何使用Java程式碼完成與之同樣功能。

  Java代碼方式暫略。

android學習——TableLayout表格版面配置

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.