当前位置: 首页 > 工具软件 > Standup Timer > 使用案例 >

standupTimer项目中选项菜单的应用

文心思
2023-12-01

standupTimer项目中菜单的应用很常规,没有什么难的地方,新手一看就懂,这里简单把代码贴到下面来;


首先定义一个菜单的xml文件,供菜单加载使用,standupTimer项目中的菜单的xml文件如下:
<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/settings"
        android:alphabeticShortcut="s"
        android:icon="@android:drawable/ic_menu_preferences"
        android:title="@string/settings_label"/>
    <item
        android:id="@+id/teams"
        android:alphabeticShortcut="t"
        android:icon="@drawable/team"
        android:title="@string/team_label"/>
    <item
        android:id="@+id/about"
        android:alphabeticShortcut="a"
        android:icon="@android:drawable/ic_menu_info_details"
        android:title="@string/about_label"/>
    <item
        android:id="@+id/help"
        android:alphabeticShortcut="h"
        android:icon="@android:drawable/ic_menu_help"
        android:title="@string/help_label"/>

</menu></span>


再在onCreateOptionsMenu()方法中把xml的菜单文件填充进来:

public boolean onCreateOptionsMenu(Menu menu) {
	super.onCreateOptionsMenu(menu);
	MenuInflater inflater = getMenuInflater();
	inflater.inflate(R.menu.menu, menu);
	return true;
}

然后在实现菜单中各个条目对应的功能,功能实现在onOptionsItemSelected()方法中:

public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case R.id.about:
			Logger.d("Displaying the about box");
			displayAboutBox();
			return true;
		case R.id.help:
			Logger.d("Displaying the help dialog");
			displayHelpDialog();
			return true;
		case R.id.settings:
			Logger.d("Displaying the settings");
			displaySettings();
			return true;
		case R.id.teams:
			Logger.d("Displaying the team configuration");
			displayTeamConfiguration();
			return true;
		default:
			Logger.e("Unknown menu item selected");
			return false;
		}
	}

从代码和流程上看起来简单明了,这也是Android中菜单的最简单的使用。当然Android中的菜单所实现的功能远远不止这么点,以上两种方法是最长用到的方法,除此之外的方法还有:

public void onOptionsMenuClosed(Menu menu):菜单关闭后发生的动作;
public boolean onPrepareOptionsMenu(Menu menu):选项菜单显示之前该方法会被调用,你可以用此方法来根据具体情况来调整菜单;
public boolean onMenuOpened(int featureId, Menu menu):菜单打开后发生的动作;

这些只是选项菜单的使用,而在Android中除了选项菜单(OptionsMenu)之外,还有上下文菜单(也称为长按菜单)( ContextMenu)和子菜单(SubMenu);关于上下文菜单和子菜单的使用,我会在另外的博客中做下大致的总结!


参考网址:
http://www.cnblogs.com/devinzhang/archive/2012/01/30/2332085.html

 类似资料: