Android开发教程:浅谈3大类菜单


在Android系统中,菜单可以分为三类:选项菜单(Option Menu),上下文菜单(Context Menu)以及子菜单(Sub Menu)。

一.选项菜单(Option Menu)

创建选项菜单的步骤:

1.覆盖Activity的onCreateOptionMenu(Menu menu)方法,当菜单第一次被打开时调用

2.调用Menu的add( )方法添加菜单项(MenuItem),同时可以调用MenuItem的setIcon( )方法来为菜单项设置图标

3.当菜单项(MenuItem)被选择时,覆盖Activity的onOptionsItemSelected(MenuItem item)来响应事件

选项菜单的实例:

  1. package com.android.menu.activity;  
  2.  
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.view.Menu;  
  6. import android.view.MenuItem;  
  7.  
  8. public class OptionMenuActivity extends Activity {  
  9.  
  10.     //声明菜单项常量  
  11.     private static final int ITEM_1 = Menu.FIRST;  
  12.     private static final int ITEM_2 = Menu.FIRST+1;  
  13.     private static final int ITEM_3 = Menu.FIRST+2;  
  14.     public void onCreate(Bundle savedInstanceState) {  
  15.         super.onCreate(savedInstanceState);  
  16.         setContentView(R.layout.main);  
  17.     }  
  18.  
  19.     //覆盖onCreateOptionsMenu(Menu menu)来添加菜单项  
  20.     public boolean onCreateOptionsMenu(Menu menu) {  
  21.         //android.R使用的是系统自带的图标  
  22.         menu.add(0, ITEM_1, 0"开始").setIcon(android.R.drawable.ic_media_play);  
  23.         menu.add(0, ITEM_2, 0"帮助").setIcon(android.R.drawable.ic_menu_help);  
  24.         menu.add(0, ITEM_3, 0"退出").setIcon(android.R.drawable.ic_menu_close_clear_cancel);  
  25.         return true;  
  26.     }  
  27.       
  28.    //覆盖onOptionsItemSelected(MenuItem item)来响应菜单选项被单击事件  
  29.     public boolean onOptionsItemSelected(MenuItem item) {  
  30.         switch (item.getItemId()) {  
  31.         case ITEM_1:  
  32.             setTitle("开始游戏!");  
  33.             break;  
  34.         case ITEM_2:  
  35.             setTitle("查看帮助!");  
  36.             break;  
  37.         case ITEM_3:  
  38.             setTitle("退出游戏!");  
  39.             break;  
  40.         }  
  41.         return true;  
  42.     }  

效果图:

  • 1
  • 2
  • 3
  • 下一页

相关内容