2010年5月17日 星期一

從無到有-實戰Android系統開發-程式實戰(6)-選單(Menu)

當我們了解如何加入一個對話框及提示訊息的方法。之後,接下來,我們要來學習如何加入選單列的功能。為什麼要加入選單呢?

因為Android的選單列就像我們在用Word、Excel等軟體一樣,會將一些常用的功能整理成選單列,方便我們可以直接使用,在Android的選單列也是如此,只是因為手機可以顯示的欄位有限,最好是將常用的功能整理成最少二個,最多六個左右的主選單列,如果有其他功能,可以選取好選單列後,再畫面上顯示出來。以簡單、好用為原則即可。

在這個章節的範例中,我們要增加二個選單列,一個是About,用來顯示出上個章節的對話框,另一個就是Exit功能,就是離開系統的動作。

在Android建立選單列都包含兩個部份,第一個部份是建立選單列的使用者介面,可以顯示出來選單。第二部份就是要建立處理選項動作的事件方法。

在Android主要是用「onCreateOptionsMenu」方法來建立選單列的主體。在 Android機器或模擬器上按下硬體的「Menu」鍵,就會顯示選單列,就是用「onCreateOptionsMenu」方法來定義。

當我們在 Activity 中定義了「onCreateOptionsMenu」方法之後,按下「Menu」鍵時,就會彈出相對應的選單列。而當我們在Android應用程式的選單列上選擇了相應的選項後,則是依賴「onOptionsItemSelected」方法,來負責處理選單列中各選項所個別對應的動作。

而在Eclipse平台,有提供一個方便的功能,可以幫我們建立一些可以覆寫的方法,就在選單「Source」中的「Override/Implement Methods」選項,會列出所以可以覆寫或繼承的方法,如圖34所示。選取「onCreateOptionsMenu」及「onOptionsItemSelected」方法,再按下「OK」按鈕。Eclipse就會幫我們建立好可覆寫的程式碼,如圖35所示。

圖34


圖35

加入下述程式碼,來建立選單列及選取時,要處理的事件,如圖36所示。主要是Menu.FIRST這個函式來了解,在目前的系統中,選單列的編號目前到那個,而再加一就是下一個選單列的編號,依此類推即可。


圖36

程式執行的畫面,如圖37所示。


圖37

沒有留言: