Android四大組件之Activity(活動)及其佈局的建立與加載佈局

Android四大組件之Activity(活動)及其佈局的建立與加載佈局java

什麼是Activity ?android

  活動(Activity)是包含用戶界面的組件,主要用於和用戶進行交互的,一個應用程序中能夠包含零個或多個活動.編輯器

 

手動建立Activity的過程詳解佈局

  到如今爲止,你尚未手動建立過活動呢,在第一個安卓工程中,HelloWorldActivity是ADT幫咱們建立的,手動建立活動能夠加深咱們的理解,所以如今是時候應該本身動手了.spa

     首先,你須要再新建一個 Android 項目,項目名能夠叫作 ActivityTest,包名咱們就使用 默認值 com.example.activitytest。由於是本身手動建立Activity因此咱們在建立Android項目時,不須要再勾選Create activity這一項,且它默認是打勾的設計

      

點擊 Finish,項目就建立完成了,還有一點須要注意的是咱們在操做當前項目的時候,建議把其餘的安卓項目關閉code

僅打開當前工做所須要的項目,否則我 保證之後你會在這方面吃虧xml

 

手動建立Activityblog

       目前 ActivityTest 項目的 src 目錄應該是空的,你應該在 src 目錄下先添加一個包。點擊 Eclipse 導航欄中的 File→New→Package,在彈出窗口中填入咱們新建項目時使用的默認包名 com.example.activitytest,點擊 Finish。繼承

  

  

      如今右擊 com.example.activitytest 包→New→Class,會彈出新建類的對話框,咱們新建 一個名爲 FirstActivity 的類,並讓它繼承自 Activity,點擊 Finish 完成建立,你須要知道,項目中的任何活動都應該重寫 Activity 的 onCreate()方法

  

到這裏咱們就已經把Activity建立好了

 

下面咱們來講說佈局的建立與加載

  Android 程序的設計講究邏輯和視圖分離,最好每個活動都能對應一 個佈局,佈局就是用來顯示界面內容的,所以咱們如今就來手動建立一個佈局文件。 右擊 res/layout 目錄→New→Android XML Layout File,會彈出建立佈局文件的窗口。咱們給這 個佈局文件命名爲 first_layout,根元素就默認選擇爲 LinearLayout

  

  

  點擊 Finish 完成佈局的建立,以下圖

  

  這是 ADT 爲咱們提供的可視化佈局編輯器,你能夠在屏幕的中央區域預覽當前的佈局。 在窗口的最下方有兩個切換卡,左邊是 Graphical Layout,右邊是 first_layout.xml。Graphical Layout 是當前的可視化佈局編輯器,在這裏你不只能夠預覽當前的佈局,還能夠經過拖拽的 方式編輯佈局。而 first_layout.xml 則是經過 XML 文件的方式來編輯佈局,如今點擊一下 first_layout.xml 切換卡,能夠看到以下代碼:

    

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

</LinearLayout>

 

因爲咱們剛纔在建立佈局文件時選擇了 LinearLayout 做爲根元素,所以如今佈局文件中 已經有一個 LinearLayout 元素了。那咱們如今對這個佈局稍作編輯,添加一個按鈕

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical" >
 6 
 7     <Button  8         android:id="@+id/button1"
 9         android:layout_width="match_parent"
10         android:layout_height="wrap_content"
11         android:text="Button" />
12 
13 </LinearLayout>

      這裏添加了一個 Button 元素,並在 Button 元素的內部增長了幾個屬性。android:id 是給 當前的元素定義一個惟一標識符,以後能夠在代碼中對這個元素進行操做.

若是你須要在 XML 中引用一個 id,就使用@id/id_name 這種語法,而若是你須要在 XML 中 定義一個 id,則要使用@+id/id_name 這種語法。隨後 android:layout_width 指定了當前元素 的寬度,這裏使用 match_parent 表示讓當前元素和父元素同樣寬。android:layout_height 指定 了當前元素的高度,這裏使用 wrap_content,表示當前元素的高度只要能恰好包含裏面的內 容就行。android:text 指定了元素中顯示的文字內容

如今按鈕已 經添加完了,你能夠點回 Graphical Layout 切換卡,預覽一下當前佈局

能夠在中央的預覽區域看到,按鈕已經成功顯示出來了,這樣一個簡單的佈局就編寫完 成了。那麼接下來咱們要作的,就是在活動中加載這個佈局。

 

加載佈局

  

能夠看到,這裏調用了 setContentView()方法來給當前的活動加載一個佈局,而在 setContentView()方法中,咱們通常都會傳入一個佈局文件的 id。

項目中添加的任何資源都會在 R 文件中生成一個相應的資源 id,所以咱們剛 才建立的 first_layout.xml 佈局的 id 如今應該是已經添加到 R 文件中了。

 

 在 AndroidManifest 文件中註冊

  全部的活動都要在 AndroidManifest.xml 中進行註冊才能生效,那 麼咱們如今就打開 AndroidManifest.xml 來給 FirstActivity 註冊吧

  

  能夠看到,活動的註冊聲明要放在標籤內,這裏是經過標籤來對 活動進行註冊的。首先咱們要使用 android:name 來指定具體註冊哪個活動,那麼這裏填入 的.FirstActivity 是什麼意思呢?其實這不過就是 com.example.activitytest.FirstActivity 的縮寫 而已 。因爲最 外層的 標籤 中已經通 過 package 屬性 指定了程 序的包 名是 com.example.activitytest,所以在註冊活動時這一部分就能夠省略了,直接使用.FirstActivity 就足夠了。而後咱們使用了 android:label 指定活動中標題欄的內容,標題欄是顯示在活動最 頂部的,待會兒運行的時候你就會看到,在<activity>標籤內加入了<intent-filter>標籤,並在裏面添加了

<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>

這兩句聲明,表示若是你想讓 FirstActivity 做爲咱們這個程序的 主活動,即點擊桌面應用程序圖標時首先打開的就是這個活動,那就必定要加入這兩句聲明。 另外須要注意,若是你的應用程序中沒有聲明任何一個活動做爲主活動,這個程序仍然是可 以正常安裝的,只是你沒法在啓動器中看到或者打開這個程序,下面咱們看看運行的結果

在界面的最頂部是一個標題欄,裏面顯示着咱們剛纔在註冊活動時指定的內容。標題欄 的下面就是在佈局文件 first_layout.xml 中編寫的界面,能夠看到咱們剛剛定義的按鈕

相關文章
相關標籤/搜索