1. 准备工作
下载几张图片,为menu锦上添花,推荐一个图片网站:http://www.easyicon.cn/
2. 新建android项目
在项目的res文件下面建立一个名称为menu的文件夹,用来放置xml文件。即menu的布局文件。
目录结构如下,所示:
game_menu.xml源码:
update_menu.xml源码:
3. 创建菜单
重写 onCreateOptionsMenu(Menu menu) 方法即可。
ok,运行程序,点击"menu",显示效果如下:
4. 为菜单设计点击事件
重写 onOptionsItemSelected(MenuItem item) 方法即可!
5. 动态改变menu
onCreateOptionsMenu(Menu menu) 方法只会在App运行时被调用一次,相当于Activity 的 onCreate( ) 方法类似。如果想动态改变menu,需要重写 onPrepareOptionsMenu(Menu menu) 方法。
显示效果,如下所示:
看看,log日志吧??!!!
ok,至此你明白了,onPrepareOptionsMenu(Menu menu) 方法在 onCreateOptionsMenu(Menu menu) 方法之后被调用,接着我们再次点击menu,多点击几次。效果和Log日志,如下所示。
可以发现,onPrepareOptionsMenu(Menu menu) 方法每次点击 menu 都会被调用一次。如果,在实际代码中这样做的话,会产生很多menu项,显然不可以,那怎么办呢?很简单,看示例代码如下:
这样的话,原先在 onCreateOptionsMenu(Menu menu) 方法中创建的菜单就会烟消云散,呵呵,效果图:
6. 提示
在最后,用sdk的api文档上面的原文做个提示:
更多内容请参考你的sdk的api文档:docs/guide/topics/ui/menus.html#options-menu