[java] view plaincopyjava
@Override android
public boolean onCreateOptionsMenu(Menu menu) { ide
// TODO Auto-generated method stub 函數
menu.add(0, 1, 1, "當前位置"); spa
menu.add(0, 2, 2, "地圖切換"); .net
if(IsStart == STOPING) orm
menu.add(0, 3, 3, "開始記錄"); xml
else blog
menu.add(0, 3, 3, "中止記錄"); get
menu.add(0,4,4,"清除路徑");
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
super.onPrepareOptionsMenu(menu);
menu.clear();
menu.add(0, 1, 1, "當前位置");
menu.add(0, 2, 2, "地圖切換");
if(IsStart == STOPING)
menu.add(0, 3, 3, "開始記錄");
else
menu.add(0, 3, 3, "中止記錄");
menu.add(0,4,4,"清除路徑");
return super.onPrepareOptionsMenu(menu);
}
區別:
onCreateOptionsMenu:
只會調用一次,他只會在Menu顯示以前去調用一次,以後就不會在去調用。
onPrepareOptionsMenu:
onPrepareOptionsMenu是每次在display Menu以前,都會去調用,只要按一次Menu按鍵,就會調用一次。因此能夠在這裏動態的改變menu。
注意:
在onPrepareOptionsMenu(Menumenu)函數中,首先須要調用:
[java] view plaincopy
super.onPrepareOptionsMenu(menu);
menu.clear();
若是沒有clear而直接add的話,那麼菜單中菜單項是會「追加」的,這樣隨着你不停的點menu鍵,菜單項就不停的增長。
另外,android系統默認的菜單樣式是支持最多3個一行,若是有4項就每行2個有2行...若是想自定義樣式,能夠使用xml文件定義樣式。