- <?xmlversion="1.0"encoding="utf-8"?>
- <menuxmlns:android="http://schemas.android.com/apk/res/android">
- <itemandroid:id="@+id/item1"
- android:title="Item1"
- android:icon="@drawable/icon"
- android:checkable="true"
- android:checked="false"
- />
- <groupandroid:id="@+id/group_1"
- android:checkableBehavior="single">
- <itemandroid:id="@+id/group_item1"
- android:title="Item1ingroup"
- />
- <itemandroid:id="@+id/group_item2"
- android:title="Item2ingroup"
- android:checked="true"
- />
- </group>
- <itemandroid:id="@+id/submenu"
- android:title="SubMenu">
- <menu>
- <itemandroid:id="@+id/submenu_item"
- android:title="SubMenuItem"
- />
- </menu>
- </item>
- <itemandroid:id="@+id/item3"
- android:title="item3"
- android:checkable="true"
- android:checked="true"
- />
- </menu>
- publicvoidonCreate(BundlesavedInstanceState){
- ...
- registerForContextMenu(editText);
- }
- @Override
- publicvoidonCreateContextMenu(ContextMenumenu,Viewv,
- ContextMenuInfomenuInfo){
- super.onCreateContextMenu(menu,v,menuInfo);
- getMenuInflater().inflate(R.menu.menu1,menu);
- }
- privatestaticfinalintMENU_GROUPITEM1=Menu.FIRST+8;
- privatestaticfinalintMENU_GROUPITEM2=Menu.FIRST+9;
- privatestaticfinalintMENU_ITEM1=Menu.FIRST+10;
- publicvoidonCreate(BundlesavedInstanceState){
- ...
- registerForContextMenu(findViewById(R.id.edittext));
- }
- @Override
- publicvoidonCreateContextMenu(ContextMenumenu,Viewv,
- ContextMenuInfomenuInfo){
- super.onCreateContextMenu(menu,v,menuInfo);
- menu.add(1,MENU_ITEM1,Menu.NONE,"Item1").setCheckable(true).setChecked(false);
- //GroupID
- intgroupId=0;
- //Theorderpositionoftheitem
- intmenuItemOrder=Menu.NONE;
- menu.add(groupId,MENU_GROUPITEM1,menuItemOrder,"Item1ingroup");
- menu.add(groupId,MENU_GROUPITEM2,menuItemOrder,"Item2ingroup")
- .setChecked(true);
- menu.setGroupCheckable(groupId,true,true);//这句要写在groupitem的最后
- SubMenusubMenu=menu.addSubMenu("SubMenu1");
- subMenu.add("SubMenuItem")
- .setOnMenuItemClickListener(newMenuItem.OnMenuItemClickListener(){
- @Override
- publicbooleanonMenuItemClick(MenuItemitem){
- Toast.makeText(HelloDemo.this,
- "SubMenuItemselected",
- Toast.LENGTH_SHORT).show();
- returntrue;//true表示完成当前item的click处理,不再传递到父类处理
- }
- });
- menu.add("Item3").setCheckable(true).setChecked(true);
- }
- @Override
- publicbooleanonCreateOptionsMenu(Menumenu){
- //GroupID
- intgroupId=0;
- //Theorderpositionoftheitem
- intmenuItemOrder=Menu.NONE;
- menu.add(groupId,MENU_COPY,menuItemOrder,"Copy")
- .setIcon(R.drawable.icon);
- menu.add(groupId,MENU_EDIT,menuItemOrder,"Edit");
- menu.add(groupId,MENU_PASTE,menuItemOrder,"Paste");
- menu.add(groupId,MENU_DELETE,menuItemOrder,"Delete");
- menu.add(groupId,MENU_OK,menuItemOrder,"Ok");
- menu.add(groupId,MENU_CANCEL,menuItemOrder,"Cancel");
- menu.add(groupId,MENU_TEST,menuItemOrder,"Test");
- menu.add(groupId,MENU_DEMO,menuItemOrder,"Demo");
- //.setIcon(R.drawable.icon);moreexpandmenu不支持icon,setIcon不会报错,但运行时还是看不到icon的
- //returnsuper.onCreateOptionsMenu(menu);
- returntrue;//true表示要显示menu;false表示不显示menu
- }
- @Override
- publicbooleanonOptionsItemSelected(MenuItemitem){
- switch(item.getItemId()){
- caseMENU_COPY:
- Toast.makeText(this,"CopyItemselected",Toast.LENGTH_SHORT).show();
- break;
- default:break;
- }
- returnfalse;//false表示继续传递到父类处理
- }
本文出自 “学习Android” 博客,请务必保留此出处http://android.blog.51cto.com/268543/306424