Android中菜單分為兩種:選項菜單和上下文菜單。
本文引用地址://tengku.com.cn/Android/566.html
選項菜單
1、創(chuàng)建選項菜單:
public boolean onCreateOptionsMenu(Menu menu){
/*
*/
menu.add(1,1,1,"菜單1");
menu.add(1,2,2,"菜單2");
menu.add(1,3,3,"菜單3");
menu.add(1,4,4,"菜單4");
return true;
}
2、設置菜單關聯(lián)的圖像和Activity:
MenuItem item1=menu.add(1,1,1,"菜單1");
item1.setIcon(R.drawable.ic_launcher);
item1.setIntent(new Intent(this,Main.class));
3、設置菜單的響應事件:
通過實現(xiàn)OnMenuItemClickListener來實現(xiàn)。
4、動態(tài)創(chuàng)建Menu:
動態(tài)創(chuàng)建Menu的Item的方法即是創(chuàng)建一個Menu類型的參數(shù)傳進onCreateOptionsMenu方法。
5、創(chuàng)建子菜單:
android中多只支持兩級菜單,因此android中多只會有一個子菜單。
// 添加子菜單
SubMenu fileSubMenu = menu.addSubMenu(1, menuItemId++, 5, "文件");
fileSubMenu.setIcon(R.drawable.file);
fileSubMenu.setHeaderIcon(R.drawable.headerfile);
// 子菜單不支持圖像
MenuItem newMenuItem = fileSubMenu.add(1, menuItemId++, 1, "新建");
newMenuItem.setCheckable(true);
newMenuItem.setChecked(true);
MenuItem openMenuItem = fileSubMenu.add(2, menuItemId++, 2, "打開");
MenuItem exitMenuItem = fileSubMenu.add(2, menuItemId++, 3, "退出");
exitMenuItem.setChecked(true);
fileSubMenu.setGroupCheckable(2, true, true);
上下文菜單的使用:
上下文菜單可以和任意的View關聯(lián),如TextView、EditView等。
下面創(chuàng)建了一個包含4個菜單項的上下文菜單,后一個菜單包括2個子菜單。
public void onCreateContextMenu(ContextMenu menu, View view,
ContextMenuInfo menuInfo)
{
super.onCreateContextMenu(menu, view, menuInfo);
// menu.clear();
menu.setHeaderTitle("上下文菜單");
menu.setHeaderIcon(R.drawable.face);
menu.add(0, menuItemId++, Menu.NONE, "菜單項1").setCheckable(true)
.setChecked(true);
menu.add(20, menuItemId++, Menu.NONE, "菜單項2");
menu.add(20, menuItemId++, Menu.NONE, "菜單項3").setChecked(true);
menu.setGroupCheckable(20, true, true);
SubMenu sub = menu.addSubMenu(0, menuItemId++, Menu.NONE, "子菜單");
sub.add("子菜單項1");
sub.add("子菜單項2");
}
上下文菜單必須注冊到指定的View上才能顯示
// 注冊上下文菜單
registerForContextMenu(button);
registerForContextMenu(editText);
registerForContextMenu(textView);
熱點新聞