Android用户界面菜单之选项菜单(Option Menu)

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;
	}

}

Android用户界面菜单之选项菜单(Option Menu)_第1张图片

出处:http://blog.csdn.net/cl05300629/article/details/17919633 作者:伫望碧落

你可能感兴趣的:(Android用户界面菜单之选项菜单(Option Menu))