Android系統為我們提供了豐富的可視化使用者介面組件,包括菜單、對話方塊、按鈕、下拉式清單等。Android系統借用了Java裡的UI設計思想,包括事件響應機制和布局管理。Android系統中的所有UI類都是建立在View和ViewGroup這兩個類的基礎之上。所有的View的子類稱為“Widge”,所有ViewGroup的子類稱為“Layout”。View和ViewGroup之間採用了組合設計模式(Composite),可以使得“部分-整體”同等對待。ViewGroup作為版面配置容器類在最上層,版面配置容器裡面又可以有View和ViewGroup。
菜單的設計在人機互動中可以說是非常人性化的,它提供了不同功能分組展示的能力。Android中菜單分為三種類型:選項菜單(Option Menu)、操作功能表(Context Menu)和子功能表(Sub Menu)。 下面我們先講解選項菜單:
當使用者單擊裝置上的菜單(Menu)按鍵時,彈出的菜單就是選項菜單。選項菜單的功能表項目最多有六個,超過六個第六個自動顯示在“更多”選項中來展開顯示。我們經常會在程式裡自己建立選項菜單。步驟如下:
1、覆蓋Activity的onCreateOptionMenu(Menu menu)方法,當我們第一次開啟菜單時該方法自動被調用。
2、調用Menu的add()方法添加功能表項目(MenuItem),可以調用MenuItem的SetIcon()方法來為功能表項目設定表徵圖。
3、當功能表項目被選擇是,覆蓋Activity的onOptionItemSelected()方法來相應事件。
案例:
package com.xiaomo.ui;import com.example.helloworld.R;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;public class Option_Menu extends Activity {//功能表項目ID常量private static final int Item_Start = Menu.FIRST;private static final int Item_Exit = Menu.FIRST+1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.option_menu);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {//添加功能表項目menu.add(0, Item_Start, 0, "開始");menu.add(0, Item_Exit, 0, "退出");return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch(item.getItemId()){//功能表項目1被選擇case Item_Start://這隻Activity標題setTitle("開始遊戲");break;//功能表項目1被選擇case Item_Exit:setTitle("退出!");break;}return true;}}出處:http://blog.csdn.net/cl05300629/article/details/17919633 作者:佇望碧落