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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章