`
hibernater
  • 浏览: 137238 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

android 动态menu

阅读更多

来自:http://www.mobilesdn.com/?action-viewnews-itemid-107

//创建三组菜单
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);

//游戏进入菜单界面需要显示的菜单项目
menu.add(MENU_GROUP_MENU, MENU_HELP, ++menu_order, R.string.menu_help).setIcon(R.drawable.icon);
menu.add(MENU_GROUP_MENU, MENU_START, ++menu_order, R.string.menu_start).setIcon(R.drawable.icon);
menu.add(MENU_GROUP_MENU, MENU_ABOUT, ++menu_order, R.string.menu_about).setIcon(R.drawable.icon);
menu.add(MENU_GROUP_MENU, MENU_OTHER, ++menu_order, R.string.menu_other).setIcon(R.drawable.icon);
menu.add(MENU_GROUP_MENU, MENU_SET, ++menu_order, R.string.menu_set).setIcon(R.drawable.icon);

//游戏过程中的菜单项目
menu.add(MENU_GROUP_GAME, MENU_PAUSE, ++menu_order, R.string.menu_pause).setIcon(R.drawable.icon);
menu.add(MENU_GROUP_GAME, MENU_RESUME, ++menu_order, R.string.menu_resume).setIcon(R.drawable.icon);
menu.add(MENU_GROUP_GAME, MENU_HINT, ++menu_order, R.string.menu_hint).setIcon(R.drawable.icon);
menu.add(MENU_GROUP_GAME, MENU_EXIT, ++menu_order, R.string.menu_exit).setIcon(R.drawable.icon);

//其他状态下显示的菜单项目
menu.add(MENU_GROUP_HELP, MENU_GOMENU, ++menu_order, R.string.menu_gomenu).setIcon(R.drawable.icon);
menu.add(MENU_GROUP_HELP, MENU_RESUME, ++menu_order, R.string.menu_gogame).setIcon(R.drawable.icon);
menu.add(MENU_GROUP_HELP, MENU_EXIT, ++menu_order, R.string.menu_exit).setIcon(R.drawable.icon);


//一进来是在选单界面,所以设定其他组别菜单不可见
menu.setGroupVisible(MENU_GROUP_GAME, false);
menu.setGroupVisible(MENU_GROUP_HELP, false);
return true;
}

//动态修改在这里................
@Override
public boolean onPrepareOptionsMenu(Menu menu)
{
  super.onPrepareOptionsMenu(menu);
  
  switch(gameState)
  {
  case GAME_STATE_MENU:
    menu.setGroupVisible(MENU_GROUP_MENU, true);
    menu.setGroupVisible(MENU_GROUP_GAME, false);
menu.setGroupVisible(MENU_GROUP_HELP, false);
    break;
  case GAME_STATE_HELP:
    menu.setGroupVisible(MENU_GROUP_MENU, false);
    menu.setGroupVisible(MENU_GROUP_GAME, false);
menu.setGroupVisible(MENU_GROUP_HELP, true);
    break;
  case GAME_STATE_ABOUT:
    menu.setGroupVisible(MENU_GROUP_MENU, false);
    menu.setGroupVisible(MENU_GROUP_GAME, false);
menu.setGroupVisible(MENU_GROUP_HELP, true);
    break;
  default:
    menu.setGroupVisible(MENU_GROUP_MENU, false);
      menu.setGroupVisible(MENU_GROUP_GAME, true);
  menu.setGroupVisible(MENU_GROUP_HELP, false);
    break;
  }
  
  return true;
}

//点击菜单之后的效果
@Override
public boolean onOptionsItemSelected(MenuItem item) {
  
switch (item.getItemId()) {
case MENU_HELP:
  //点击帮助菜单
  
  initHelp();

return true;
case MENU_START:
   initGame();
return true;
case MENU_ABOUT:
   initAbout();
  
return true;
case MENU_OTHER:
  
return true;
case MENU_SET:
  
return true;
}

return false;
}

分享到:
评论

相关推荐

    Android代码-Android 动态 Menu 菜单 Demo,做的很棒。

    Android Animated Menu Items The example Android project of animated menu items in toolbar. Thanks Srikant Shetty for idea of this animation. Cut: Copy: Delete: Share: License Copyright 2017 Ilya...

    Android自定义menu的实现

    在Android开发中,Menu通常用于显示应用程序中的操作选项,如在顶部栏或下拉菜单中。自定义Menu允许开发者根据应用需求设计独特的交互方式和视觉样式。本篇将深入探讨如何在Android中实现自定义Menu。 首先,我们...

    Android 动态切换Menu效果

    使用ActionBar+Fragment+ViewPager+Menu实现的动态切换Menu的下过,每当用户切换到一个Fragment时,与之对应的Menu效果就随之切换,本例共有三个Fragment,每切换到一个Fragment上方的MenuItem的样式就会生成一个新...

    android menu菜单距中显示

    在Android应用开发中,`Menu`是用户界面中不可或缺的一部分,它通常用于在特定操作(如选项、更多操作)上为用户提供快捷访问的途径。在Android系统中,`Menu`通常出现在活动(Activity)的顶部作为选项菜单,或者在...

    Android MenuDemo Menu全面讲解

    总结,`MenuDemo`项目旨在通过实例帮助开发者理解Android Menu的使用,包括如何定义、加载、处理事件以及进行自定义和动态管理。通过这个项目,开发者可以更好地掌握如何在Android应用中提供丰富的交互体验。

    Android 按Menu弹出菜单

    在Android应用开发中,"按Menu弹出菜单"是一个常见的功能,它允许用户访问应用程序的主要操作选项。在Android系统中,Menu通常是通过按下设备屏幕右上角的菜单按钮或者长按Home键来触发的。这种九宫格样式的菜单设计...

    Android 动态更新Menu菜单

    下面我们将深入探讨如何在Android中实现动态更新Menu菜单。 1. **创建Menu资源** 首先,我们需要在`res/menu`目录下创建一个XML文件,例如`menu_main.xml`,来定义我们的菜单项。在XML中,我们可以定义各个MenuItem...

    android 另类menu菜单提示

    在Android开发中,Menu是应用界面中不可或缺的一部分,它通常用于在特定的上下文(如选项栏或右上角的三点菜单)中显示一组操作。然而,除了传统的Menu设计之外,开发者还可以创建“另类”Menu菜单来提供更加独特且...

    Android DropDownMenu下拉菜单.zip

    在Android开发中,`DropDownMenu`是一种常见的交互元素,它允许用户从一组选项中选择一个,通常用于空间有限的界面,如顶部导航栏或者侧滑菜单。本资源提供了`Android DropDownMenu`的一个实现,特点是拥有漂亮的...

    android自定义menu

    在Android开发中,自定义`Menu`是一种常见的需求,它允许开发者根据应用的特性提供更加个性化的操作选项。本文将深入探讨如何在Android中实现自定义`Menu`,结合源码解析以及工具的使用,帮助你更好地理解这一过程。...

    Android_Menu.rar_Android_menu_android_android简单

    此外,`android_menu`标签暗示我们关注的是菜单的实现,而`android简单`标签表明这个例子是面向初学者的,所以可能没有涉及更复杂的菜单操作,如子菜单、动态加载菜单或自定义菜单视图。 总之,这个“Android_Menu...

    Android UI之样式Menu

    在Android开发中,UI设计是用户体验的关键组成部分,而Menu作为一种重要的交互元素,常常用于实现应用程序中的下拉选项或操作选项。本教程将深入探讨如何在Android中创建炫酷的弹出菜单,让你的应用脱颖而出。 首先...

    android Menu 菜单

    在Android应用开发中,Menu是用户界面不可或缺的一部分,它提供了在屏幕顶部或底部显示一系列操作选项的功能。Android Menu主要用于在不占用屏幕空间的情况下为用户提供多种交互方式,如在活动(Activity)的顶部弹...

    Android Menu和ListView 整合设计 源码

    Android Menu和ListView 整合设计 源码 package com.MyMenu; import android.app.Activity; import android.database.Cursor; import android.database.sqlite.SQLiteCursor; import android.os.Bundle; import ...

    Android menu单选菜单.rar

    在Android应用开发中,Menu是用户界面中的一个重要组成部分,它提供了在特定上下文中展示一系列操作选项的方式。在标题“Android menu单选菜单.rar”中提到的,我们将关注如何在Android中实现一个单选菜单,即单选列...

    Android代码-android-dropdown-menu

    android-dropdown-menu An dropdown menu for android, you can attach your own listView(s) with this. 文档 DropdownMenu Demo Usage You can use this to make several(as you want) listViews act like ...

    android sliding menu 滑动菜单

    在Android应用开发中,滑动菜单(Sliding Menu)是一种常见的设计模式,它允许用户通过从屏幕边缘向内滑动来展示隐藏的侧边栏菜单。这种设计在移动设备上非常流行,因为它提供了便捷的导航方式,特别是在内容丰富的...

    Android代码-DropDownMenu

    DropDownMenu for Android,filter the list based on multiple condition. To get this project into your build Step 1. Add the specific repository to your build file: repositories { maven { url ...

    Android Menu控件源码

    在Android开发中,Menu控件是构建用户交互界面不可或缺的一部分,它通常用于在应用程序的顶部显示选项,如在Activity的标题栏或者下拉菜单中。本文将深入探讨Android Menu控件的源码,理解其工作原理,以及如何在...

Global site tag (gtag.js) - Google Analytics