onPrepareOptionsMenu 和onCreateOptionsMenu 的区别

原文:http://blog.csdn.net/sky181772733/article/details/6922615

android创建菜单menu时需要重写ActivityonCreateOptionsMenu(Menumenu)方法,这个方法只在第一次创建的时候调用一次,所以如果之后想对menu进行动态的修改,那么就不能再对onCreateOptionsMenu做什么手脚,就要用到onPrepareOptionsMenu(Menumenu)方法了。

onPrepareOptionsMenuonCreateOptionsMenu不同的是,他在每次按下menu硬键之前会被调用,所以可以在这里动态的改变menu


注意:在onPrepareOptionsMenu(Menumenu)函数中,首先需要调用:

super.onPrepareOptionsMenu(menu);

menu.clear();

如果没有clear而直接add的话,那么菜单中菜单项是会“追加”的,这样随着你不停的点menu键,菜单项就不停的增加。

另外,android系统默认的菜单样式是支持最多3个一行,如果有4项就每行2个有2...如果想自定义样式,可以使用xml文件定义样式。

发布了29 篇原创文章 · 获赞 14 · 访问量 11万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章