在一个android创建菜单menu时,需要重写Activity的onCreateOptionsMenu(Menu menu)方法,这个方法只在第一次创建的时候调用一次,所以如果之后想对menu进行动态的修改,那么就不要再对onCreateOptionsMenu做什么手脚了。
于是就要用到onPrepareOptionsMenu(Menu menu)方法了。onPrepareOptionsMenu与onCreateOptionsMenu不同的是,他在每次按下menu硬键之前会被调用,所以可以在这里动态的改变menu。如果需要创建一个全新的菜单,那么可以在
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
menu.clear();
cb=(CheckBox)findViewById(R.id.my_mms_item_checkbox);
menu.add(0, MENU_01, 0, "新建短信").setIcon(R.drawable.menu_new_mms);
Log.d(TAG,"cb.getVisibility():"+cb.getVisibility());
if(cb.getVisibility()==View.GONE)
menu.add(0, MENU_02, 0, "多选").setIcon(R.drawable.mms_multiple);
else
{
menu.add(0, MENU_03, 0, "取消多选").setIcon(R.drawable.mms_multiple);
menu.add(0, MENU_04, 0, "选择全部").setIcon(R.drawable.mms_multiple);
}
return true;
}
如果没有clear而直接add的话,那么菜单中菜单项是会“追加”的,这样,随着你不停的点menu键,菜单项就不停的增加。
另外,android系统默认的菜单样式是支持最多3个一行,如果有4项就每行2个有2行...如果想自定义样式,可以使用xml文件定义样式。
分享到:
相关推荐
Android动态修改ToolBar的Menu菜单 效果图 实现 实现很简单,就是一个具有3个Action的Menu,在我们滑动到不同状态的时候,把对应的Action隐藏了。 开始上货 Menu Menu下添加3个Item <menu xmlns:android=...
Android activity Menu设计实例源代码,点击第一个menu的第一个按钮执行button1 可见的动作,点击第二个个menu的第一个按钮执行button2 可见的动作,menu.findItem(EXIT_ID);找到特定的MenuItem,MenuItem.setIcon....
Menu(菜单)是Android中一定会使用的模块,每个Android项目都会用到Menu来给用户起到选择和导航的作用,提升用户体验,...①在res下的menu中创建file_menu.xml: <?xml version=1.0 encoding=utf-8?> <me
3.21 Android变脸——主题(Theme)实现 第4章 史上超豪华的手机控件 第5章 交互式通信服务与手机控制 第6章 手机自动服务纪实 第7章 娱乐多媒体 第8章 当Android与Internet接轨 第9章 Google...
Android 高仿QQ空间侧滑Menu效果且换肤功能本项目大体结构是 首先有一个换肤基类BaseSkinActivity,然后其他activity都继承这个基类, 类中提供com.zhy.changeskin.SkinManager.getInstance().changeSkin()更改皮肤 ...
Android2.2版本中,如果你要修改菜单默认的背景颜色,网络上有许多的方法。在此就不说了。但是,如果要在2.2以上的版本修改菜单的样式,例如修改背景颜色,图片等,使用这些方法是没有任何作用的。因此自己写了一个...
看看Android中的menu的使用,关键是menu中的按键的响应,我这里响应是修改一下标题
Android ContextMenu实例,为EditText文本框添加上下文菜单,菜单激活并显示的方式是,用户在EditText输入框上面长按2秒,即可弹出上下文菜单,如运行截图所示的效果,为实现此功能,创建了onCreateContextMenu ...
实验设备及软件: 一台电脑,Androidstudio2.3.3软件 实验方法(原理、流程图) 实现的通讯录功能和界面可在实验开发中由每位同学自己设计,但必须使用 SQLite 数据库保存通讯录信息。 以下功能和软件界面供参考:...
本文实例讲述了Android实现为Tab添加Menu的方法。分享给大家供大家参考,具体如下: 在Android中,TabActivity类中没有与Menu有关的方法,所以如果单独使用TabActivity进行开发时,是无法创建菜单项的。为了给Tab...
本源码主要是演示Android ContentProvider组件的使用,借助一个写日记小程序来演示组件中各种方法的... 在ActivityMain.java中,在每一次menu生成的时候前都会调用这个方法,在这个方法里边可以动态的修改生成的menu。
mDropDownMenu.addMenuSelectListener(new DropDownMenu.OnDefultMenuSelectListener() { @Override public void onSelectDefaultMenu(int index, int pos,String clickstr) { //index:点击的tab...
5.2.14实例——动态修改Spinner项 5.2.15 使用进度条——ProgressBar 5.2.16实例——动态修改进度条 5.2.17使用拖动条——SeekBar 5.2.1 8实例——简单使用SeekBar 5.2.19使用图片视图——ImageView 5.2.20实例——...
NULL 博文链接:https://mrchai.iteye.com/blog/1194618
根据布局文件快速生成对应的Activity,Fragment,Adapter,Menu。 4.Android Parcelable code generator JavaBean序列化,快速实现Parcelable接口。 5.Android Methods Count 显示依赖库中得方法数 6....
实现建议的点菜功能,点击按钮,修改菜品数量,类似于购物车中的物品数量修改
Android 2.3.7.r1 按menu键时会停止录像。改成录像时按menu键不做处理,可做如下修改: 在packages/apps/CameraOpen/src/com/mediatek/camera/VideoCamera.java onKeyDown()方法中: 修改 代码如下: case KeyEvent....
androidx 中对v4和v7包进行了管理,项目中使用Androidx后,直接导入slidinlibrary编译会通过,但是运行时会找不到v4包,所有我这边修改了包中内容,以适配Androidx的项目
高仿QQ空间 侧滑Menu效果并且提供换肤功能,本项目大体结构是 首先有一个换肤基类...类中提供com.zhy.changeskin.SkinManager.getInstance().changeSkin()更改皮肤 ,侧滑部分通过DrawerLayout来实现的。