@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
//all books menu
menu.add(MENU_GROUP_BOOKS, COPY_FORE_CARD, 0, R.string.lib_menu_imput).setIcon(R.drawable.icon_copy_from_card);
menu.add(MENU_GROUP_BOOKS, ESTORE,0, R.string.lib_menu_store).setIcon( R.drawable.icon_shop);
menu.add(MENU_GROUP_BOOKS, SETTINGS, 0, R.string.lib_menu_set).setIcon(R.drawable.icon_setting);
//more menu
menu.add(MENU_GROUP_MORE, ADD_CUSTOM_CATEGORY, 0, R.string.lib_menu_add_category).setIcon(R.drawable.icon_add);
// menu.add(MENU_GROUP_MORE, COPY_FORE_CARD, 0, R.string.lib_menu_imput).setIcon(R.drawable.icon_copy_from_card);
menu.add(MENU_GROUP_MORE, ESTORE,0, R.string.lib_menu_store).setIcon( R.drawable.icon_shop);
return true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if (isSearch) {
menu.setGroupVisible(MENU_GROUP_BOOKS, false);
menu.setGroupVisible(MENU_GROUP_MORE, false);
} else if (TAB_MORE.equals(currentTab)) {
menu.setGroupVisible(MENU_GROUP_BOOKS, false);
menu.setGroupVisible(MENU_GROUP_MORE, true);
} else if(TAB_ALL.equals(currentTab)) {
menu.setGroupVisible(MENU_GROUP_BOOKS, true);
menu.setGroupVisible(MENU_GROUP_MORE, false);
} else {
menu.setGroupVisible(MENU_GROUP_BOOKS, true);
menu.setGroupVisible(MENU_GROUP_MORE, false);
menu.findItem(COPY_FORE_CARD).setVisible(false);
}
return super.onPrepareOptionsMenu(menu);
}
如上代码是覆盖activity后的代码,
对于onPrepareOptionMenu,sdk上有如下说明
Prepare the Screen's standard options menu to be displayed. This is
called right before the menu is shown, every time it is shown. You can
use this method to efficiently enable/disable items or otherwise
dynamically modify the contents.
The default implementation updates the system menu items based on the
activity's state. Deriving classes should always call through to the
base class implementation.
可以在onCreateOptionsMenu()方法里面先声明对应的菜单项目栏,然后在onPrepareOptionMenu方法中声明飞是否显示
分享到:
相关推荐
子菜单是在选项菜单中的某个条目展开的额外选项集合。它们可以用于组织相关的操作,特别是当菜单项过多时。在XML中,我们可以使用`<group>`标签创建子菜单,并使用`<item>`标签定义子菜单的条目。例如: ```xml ....
在示例代码中,我们使用了 Menu 类的 add 方法将菜单项添加到菜单中,然后使用 MenuItem 类的 setTitle 方法设置菜单项的标题。 五、结论 本文档详细介绍了 Android 中的菜单系统,包括上下文菜单、下拉菜单和选项...
如果只希望在特定`Activity`或`Fragment`中改变菜单的显示方式,可以在对应的XML布局文件中添加一个自定义的`PopupWindow`,然后在`onCreateOptionsMenu()`中使用这个`PopupWindow`来替代默认的菜单。 此外,对于...
- **自定义菜单布局**:在XML菜单资源文件中,可以使用自定义视图替换默认的MenuItem,通过设置`android:actionLayout`属性引用自定义布局。 - **自定义菜单动画**:利用`PopupMenu`或`ContextMenu`,可以添加弹出...
本教程将深入探讨如何在Android应用中使用Fragment,以及如何进行嵌套使用,特别是在创建底部菜单和顶部菜单的场景下,类似微信和QQ的分页菜单设计。 1. **Fragment的基本使用**: - 创建Fragment:通过继承...
1、在android Activity中重写onCreateOptionsMenu(),onOptionsItemSeclected() 与onCreateContextMenu()与onContextItemSelected()来实现OptionsMenu 与ContextMenu菜单。 2、子菜单的使用
在Android应用开发中,侧滑菜单(Slide Menu)是一种常见的设计模式,用于提供导航和功能选项,用户只需从屏幕边缘向内滑动即可显示或隐藏菜单。这种菜单通常被用在许多应用程序中,如Google应用、Facebook应用等,...
首先,我们需要理解Android菜单的基本概念。在Android中,菜单通常通过`Menu`类来实现,它可以在Activity的`onCreateOptionsMenu()`方法中进行定义和填充。然而,对于多级菜单,我们可能需要自定义视图或使用现有的...
android底部菜单栏demo
- 在自定义菜单中,你可以添加动画、分组、子菜单、滑动效果等,提高用户体验。 5. **适配不同Android版本** - 考虑到Android版本的兼容性问题,需要确保在API 11以下使用`android:showAsAction`属性的旧版语法`...
首先,我们需要理解Android菜单的工作原理。在Android中,菜单项是通过` onCreateOptionsMenu()`和` onOptionsItemSelected()`方法在`Activity`或`Fragment`中创建和处理的。我们通常使用`MenuItem`对象的`setIcon()...
在Android开发中,扇形菜单是一种独特且吸引用户的交互设计,它通过展开一系列扇形的选项来呈现菜单项。本文将深入探讨如何使用属性动画在Android中实现这种效果。 首先,我们要理解Android属性动画系统的基本概念...
本文将深入探讨如何在Android Studio中实现底部自定义菜单,并结合"GreatWallApp"这一项目实例,来讲解相关的编程知识。 首先,底部自定义菜单通常指的是在应用界面底部设置的一排图标或文字按钮,用户可以通过点击...
这个压缩包可能包含了一个实现此类菜单的示例项目,让我们来详细探讨一下这种菜单的设计理念以及如何在Android应用中实现它。 首先,圆形旋转菜单的核心概念是利用旋转动画和触摸事件来展示一系列选项。用户点击或...
请注意,虽然TabHost在现代Android开发中已较少使用,但了解其工作原理有助于理解底部菜单栏的历史演变和当前的实现方式。现在更常见的是使用`BottomNavigationView`结合`FragmentManager`或`NavController`来管理...
在Android仿美团外卖菜单界面中,我们需要将菜单项的数据绑定到ListView控件和StickyListHeadersListView控件上。我们可以使用Adapter来实现数据绑定。Adapter将菜单项的数据转换为View对象,然后将其添加到ListView...
在Android应用开发中,多级菜单是一种常见的交互设计,它能有效地组织和展示大量功能,让用户更容易找到所需的操作。这个“Android多级菜单源代码”很可能是为了实现类似树状结构的菜单,允许用户逐级深入,探索和...
首先,要使用Android菜单,我们需要在布局文件(如`activity_main.xml`)中不直接添加菜单元素,因为菜单通常在活动中动态生成。菜单的定义主要在`res/menu`目录下的XML文件中完成,例如`menu_main.xml`。在这个文件...
在Android中,我们可以使用`Path`对象来定义一条路径,然后通过`ValueAnimator`将视图沿着这条路径移动,创建出独特的交互式菜单效果。例如,当用户点击按钮时,菜单可以从按钮的位置沿着预定义的路径滑出。 要创建...