Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 開發入門 >> Android 基礎布局介紹

Android 基礎布局介紹

編輯:開發入門

用布局(layout)資源

布局資源是Android中最常使用的一種資源,android可以將屏幕中組件的布局方式定義在一個XML文件中,這有點像web開發中的Html頁面。我們可以調用Activity.setContentVIEw()方法,將布局文件展示在Activity上。android通過LayoutInflater類將XML文件中的組件解析為可視化的視圖組件。布局文件保存在res\layout\文件夾中,文件名稱任意。

布局文件的定義

我們將通過表來說明布局文件的定義情況。

表布局文件的定義




res/layout/my_layout.XML(文件名稱任意) 布局XML文件格式 使用<?XML version="1.0" encoding="utf-8"?><布局類 XMLns:android="http://schemas.android.com/apk/res/android" id="@+id/string_name" (屬性)><視圖組件或者其他嵌套布局類><requestFocus/></布局類> 獲得XML資源的方法 Activity.setContentVIEw() 引用XML資源的格式 Java代碼中:R.layout.my_layoutXML文件中:@[package:]layout/my_layout


下面通過一個實例來演示布局文件的用法。該實例定義一個布局文件,在該布局文件中添加一個TextView、一個EditText和一個Button,分別設置其屬性,並且使用Activity.setContentView()方法將其設置為Activity的界面,使用findVIEwById()方法來得到布局中的組件。

在工程的res\layout\目錄下創建一個test_layout.XML布局文件,在該布局文件中使用LinearLayout嵌套TableLayout進行布局管理,其中添加TextVIEw、EditText和Button三個視圖組件,並為其設置屬性。

Java代碼:
  1. <?XML version="1.0" encoding="utf-8"?>
  2. <LinearLayout XMLns:android="http://schemas.android.com/apk/res/android" android:orIEntation="vertical"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent">
  5. <!-- 以上四個屬性分別是命名空間、 組件布局方向(這裡是垂直)、布局的寬(充滿屏幕)和高(充滿屏幕)-->
  6. <!-- 以下嵌套一個TableLayout -->
  7. <TableLayout
  8. android:layout_width="fill_parent"
  9. android:layout_height="fill_parent"
  10. android:stretchColumns="1">
  11. <TableRow>
  12. <TextVIEw
  13. android:text="測試Layout:" android:id="@+id/layoutTextVIEw01" android:layout_width="wrap_content"
  14. android:layout_height="wrap_content"
  15. android:textColor="@color/red_bg"/>
  16. <!-- 以上五個屬性分別是:文本內容、引用組件的ID、該組件的寬(內容的寬)、該組件的高(內容的高)、文件顏色 -->
  17. <EditText
  18. android:text=""
  19. android:id="@+id/EditText01"
  20. android:layout_width="fill_parent"
  21. android:layout_height="wrap_content"/>
  22. </TableRow>
  23. <TableRow
  24. android:gravity="right">
  25. <Button
  26. android:text="Test"
  27. android:id="@+id/layoutButton01"
  28. android:layout_width="wrap_content"
  29. android:layout_height="wrap_content" />
  30. </TableRow>
  31. </TableLayout>

  32. </LinearLayout>

在工程的com.amaker.ch03.layout包中創建一個TestLayoutActivity類,在該類的頂部聲明TextView、EditText和Button。在onCreate()方法中定義setContentView()方法,將布局文件設置為Activity的界面,使用findVIEwById()方法實例化以上三個視圖組件。

Java代碼:
  1. package eoe.demo.layout;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.widget.Button;
  5. import android.widget.EditText;
  6. import android.widget.TextVIEw;
  7. import com.amaker.test.R;

  8. public class TestLayoutActivity extends Activity {
  9. private TextView myTextVIEw;
  10. private EditText myEditText;
  11. private Button myButton;
  12. @Override
  13. public void onCreate(Bundle savedInstanceState) {
  14. super.onCreate(savedInstanceState);
  15. // 設置Activity的界面布局
  16. setContentVIEw(R.layout.test_layout);
  17. // 通過findViewByIdff獲得TextVIEw實例
  18. myTextView = (TextView)findViewById(R.id.layoutText VIEw01);
  19. // 通過findVIEwById方法獲得EditText實例
  20. myEditText = (EditText)findVIEwById(R.id.layoutEdit Text01);
  21. // 通過findVIEwById方法獲得Button實例
  22. myButton = (Button)findVIEwById(R.id.layoutButton01);
  23. }

  24. }
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved