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; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.option_menu); } @Override public boolean onCreateOptionsMenu(Menu menu) { //添加菜單項 menu.add(0, Item_Start, 0, "開始"); menu.add(0, Item_Exit, 0, "退出"); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()){ //菜單項1被選擇 case Item_Start: //這隻Activity標題 setTitle("開始遊戲"); break; //菜單項1被選擇 case Item_Exit: setTitle("退出!"); break; } return true; } }
出處:https://blog.csdn.net/cl05300629/article/details/17919633 作者:佇望碧落