1、Optionsmenu選項菜單
2、Contextmenu上下文菜單
3、SubMenu子菜單
Optionsmenu選項菜單:
1、先要創建選項菜單:onCreateOptionsMenu(Menu menu)activity中;
-可動態添加設置menu.add();
onCreateOptionsMenu(Menu menu){
menu.add(groupId, itemId, order, title)
}
groupId:分組的id
itemId:菜單項的id
order:排序號
title:菜單名
-xml設置Inflater.inflater();
getMenuInflater().inflate(R.menu.main, menu);
加載菜單代碼:
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
// getMenuInflater().inflate(R.menu.main, menu);
MenuItem item = menu.add(1, 100, 1, "菜單一");
item.setTitle("aaa");
item.setIcon(R.drawable.ic_launcher);// api>=11 不顯示圖標 ,
menu.add(1, 102, 1, "菜單三");
return true;//false讓方法不執行
}
動態加載菜單的xml文件:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_menu_item1"
android:orderInCategory="100"
android:showAsAction="never"
android:title="菜單一"/>
<item
android:id="@+id/action_menu_item2"
android:orderInCategory="100"
android:showAsAction="never"
android:title="菜單二"/>
</menu>
設置菜單點擊事件:onOptionsItemSelected();
onOptionsItemSelected(MenuItem item)--菜單點擊監
item.getItemId()--獲取被點擊的菜單id
監聽事件代碼:
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case 102:
Toast.makeText(MainActivity.this, "點擊了菜單三", Toast.LENGTH_SHORT)
.show();
break;
}
return super.onOptionsItemSelected(item);
}