您的位置:首页 > 移动开发 > Android开发

standupTimer项目中选项菜单的应用

2016-07-18 23:20 477 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息