Android TableLayout 將視圖分為行和列。將使用<TableRow>元素建立行在表中。每一行都有零個(gè)或多個(gè)單元,每個(gè)單元可以容納一個(gè) View 對(duì)象。
TableLayout 容器不顯示自己的行,列或單元格的邊界線。
以下是具體TableLayout 的重要屬性:
屬性 | 描述 |
---|---|
android:id | 這是布局的唯一標(biāo)識(shí)ID。 |
android:collapseColumns | 這指定從零開始的索引折疊的列。列索引必須用逗號(hào)分隔: 1, 2, 5. |
android:collapseColumns | 列從零開始的索引萎縮。列索引必須用逗號(hào)分隔:1, 2, 5. |
android:stretchColumns | 列從零開始的索引伸展。列索引必須用逗號(hào)分隔: 1, 2, 5. |
這個(gè)例子將通過(guò)簡(jiǎn)單的步驟顯示了如何使用表布局創(chuàng)建Android應(yīng)用程序。按照下面的步驟創(chuàng)建Android 應(yīng)用程序項(xiàng)目 - TableLayout 示例:
Step | 描述 |
---|---|
1 | 使用Eclipse IDE創(chuàng)建Android應(yīng)用程序,在包c(diǎn)om.yiibai.tablelayout下創(chuàng)建一個(gè)應(yīng)用示例項(xiàng)目:RelativeLayout |
2 | 修改res/layout/activity_main.xml 文件的默認(rèn)內(nèi)容,新增包括一些小部件的表格布局。 |
3 | 定義所需的常量在res/values/strings.xml文件中 |
4 | 運(yùn)行該應(yīng)用程序啟動(dòng)Android模擬器,并確認(rèn)應(yīng)用運(yùn)行的結(jié)果。 |
以下是內(nèi)容修改主activity 文件 src/com.yiibai.tablelayout/MainActivity.java。這個(gè)文件可以包括每個(gè)生命周期的方法。
package com.yiibai.tablelayout; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } }
以下是 res/layout/activity_main.xml 文件的內(nèi)容:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TableRow> <Button android:id="@+id/backbutton" android:text="Back" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </TableRow> <TableRow> <TextView android:text="First Name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_column="1" /> <EditText android:width="100px" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </TableRow> <TableRow> <TextView android:text="Last Name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_column="1" /> <EditText android:width="100px" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </TableRow> </TableLayout>
以下是 res/values/strings.xml 內(nèi)容定義兩個(gè)常量:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">TableLayout</string> <string name="action_settings">Settings</string> </resources>
讓我們嘗試運(yùn)行 RelativeLayout 應(yīng)用程序,假設(shè)創(chuàng)建AVD同時(shí)設(shè)置好環(huán)境。從Eclipse中打開項(xiàng)目的活動(dòng)文件運(yùn)行應(yīng)用程序,然后從Eclipse圖標(biāo)工具欄上單擊“Run” 圖標(biāo) 。 Eclipse AVD安裝應(yīng)用程序并啟動(dòng)它,如果設(shè)置和應(yīng)用都沒(méi)有問(wèn)題,它會(huì)顯示以下模擬器窗口: