`
zzz065
  • 浏览: 4090 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

android中捕捉menu按键的点击事件

 
阅读更多
@Override
public boolean onCreateOptionsMenu(Menu menu) {
	/*转自:http://www.oschina.net/code/snippet_4873_6077

	 * add()方法的四个参数,依次是: 1、组别,如果不分组的话就写Menu.NONE,
	 * 2、Id,这个很重要,Android根据这个Id来确定不同的菜单 3、顺序,那个菜单现在在前面由这个参数的大小决定
	 * 4、文本,菜单的显示文本
	 */
	menu.add(Menu.NONE, Menu.FIRST + 1, 5, "删除").setIcon(android.R.drawable.ic_menu_delete);
	// setIcon()方法为菜单设置图标,这里使用的是系统自带的图标,同学们留意一下,以
	// android.R开头的资源是系统提供的,我们自己提供的资源是以R开头的
	menu.add(Menu.NONE, Menu.FIRST + 2, 2, "保存").setIcon(android.R.drawable.ic_menu_edit);
	menu.add(Menu.NONE, Menu.FIRST + 3, 6, "帮助").setIcon(android.R.drawable.ic_menu_help);
	menu.add(Menu.NONE, Menu.FIRST + 4, 1, "添加").setIcon(android.R.drawable.ic_menu_add);
	menu.add(Menu.NONE, Menu.FIRST + 5, 4, "详细").setIcon(android.R.drawable.ic_menu_info_details);
	menu.add(Menu.NONE, Menu.FIRST + 6, 3, "发送").setIcon(android.R.drawable.ic_menu_send);
	// return true才会起作用
	return true;

}

// 菜单项被选择事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
	switch (item.getItemId()) {
	case Menu.FIRST + 1:
		Toast.makeText(this, "删除菜单被点击了", Toast.LENGTH_LONG).show();
		break;
	case Menu.FIRST + 2:
		Toast.makeText(this, "保存菜单被点击了", Toast.LENGTH_LONG).show();
		break;
	case Menu.FIRST + 3:
		Toast.makeText(this, "帮助菜单被点击了", Toast.LENGTH_LONG).show();
		break;
	case Menu.FIRST + 4:
		Toast.makeText(this, "添加菜单被点击了", Toast.LENGTH_LONG).show();
		break;
	case Menu.FIRST + 5:
		Toast.makeText(this, "详细菜单被点击了", Toast.LENGTH_LONG).show();
		break;
	case Menu.FIRST + 6:
		Toast.makeText(this, "发送菜单被点击了", Toast.LENGTH_LONG).show();
		break;
	}

	return false;
}

// 选项菜单被关闭事件,菜单被关闭有三种情形,menu按钮被再次点击、back按钮被点击或者用户选择了某一个菜单项
@Override
public void onOptionsMenuClosed(Menu menu) {
	Toast.makeText(this, "选项菜单关闭了", Toast.LENGTH_LONG).show();
}

// 菜单被显示之前的事件
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
	Toast.makeText(this, "选项菜单显示之前onPrepareOptionsMenu方法会被调用,你可以用此方法来根据打当时的情况调整菜单", Toast.LENGTH_LONG).show();
	// 如果返回false,此方法就把用户点击menu的动作给消费了,onCreateOptionsMenu方法将不会被调用
	return true;
}
分享到:
评论

相关推荐

    Android中捕捉menu按键点击事件的方法

    本文实例讲述了Android中捕捉menu按键点击事件的方法。分享给大家供大家参考。具体如下: @Override public boolean onCreateOptionsMenu(Menu menu) { /* * add()方法的四个参数,依次是: 1、组别,如果不分组...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态更改屏幕方向——LANDSCAPE与PORTRAIT 5.23 系统设置更改事件——onConfigurationChanged信息处理...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态更改屏幕方向——LANDSCAPE与PORTRAIT 5.23 系统设置更改事件——onConfigurationChanged信息处理...

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态更改屏幕方向——LANDSCAPE与PORTRAIT 5.23 系统设置更改事件——onConfigurationChanged信息处理...

    事件监听器-EditText的事件监听

    事件监听器是Android开发中的重要概念,用于捕捉和响应用户在界面上的各种交互操作。在Android中,事件监听器主要用于处理UI控件的点击、触摸、键盘输入等事件。本篇将详细介绍EditText的事件监听。 首先,我们来看...

    Google Android SDK开发范例大全的目录

    5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态更改屏幕方向——LANDSCAPE与PORTRAIT 5.23 系统设置更改事件——onConfigurationChanged信息处理...

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态更改屏幕方向——LANDSCAPE与PORTRAIT 5.23 系统设置更改事件——onConfigurationChanged信息...

    Google Android SDK 开发范例大全01

    5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态更改屏幕方向——LANDSCAPE与PORTRAIT 5.23 系统设置更改事件——onConfigurationChanged信息处理...

    Google Android SDK 开发范例大全02

    5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态更改屏幕方向——LANDSCAPE与PORTRAIT 5.23 系统设置更改事件——onConfigurationChanged信息处理...

    Google+Android+SDK开发范例大全

    5.18 取得SIM卡内的信息——TelephonyManager的应用 5.19 调用拨号按钮——打电话CALL_BUTTON 5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态...

    Google Android sdk 开发范例大全 部分章节代码

    5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态更改屏幕方向——LANDSCAPE与PORTRAIT 5.23 系统设置更改事件——onConfigurationChanged信息处理...

    Google Android SDK开发范例大全(完整版)

    5.20 DPAD按键处理——onKeyDown事件与Layout坐标交互 5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态更改屏幕方向——LANDSCAPE与PORTRAIT 5.23 系统设置更改事件——onConfigurationChanged信息处理...

Global site tag (gtag.js) - Google Analytics