android 菜单的使用,Android学习笔记--Menu菜单的使用

packagecom.evor.test;importandroid.content.Intent;importandroid.os.Bundle;importandroid.support.v7.app.ActionBarActivity;importandroid.view.ContextMenu;importandroid.view.ContextMenu.ContextMenuInfo;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.view.MenuItem.OnMenuItemClickListener;importandroid.view.SubMenu;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.Toast;public class MainActivity extendsActionBarActivity {

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button btn1=(Button)findViewById(R.id.btn1);

EditText edt1=(EditText)findViewById(R.id.edt1);//注册上下文菜单(按住该视图一段时间后就会出现menu)

registerForContextMenu(btn1);

registerForContextMenu(edt1);

}//实现选项菜单

@Overridepublic booleanonCreateOptionsMenu(Menu menu) {//参数: groupid,itemid,order,titleRes

MenuItem item1 = menu.add(1,1,1,"菜单项1");

MenuItem item2= menu.add(1,2,2,"菜单项2");

MenuItem item3= menu.add(1,3,3,"菜单项3");

item3.setIntent(new Intent(this,MainActivity.class)); //设定关联的Activity,点击后会转到该activity

MyOnMenuItemClickListener menuItemClickListener= newMyOnMenuItemClickListener();

item1.setOnMenuItemClickListener(menuItemClickListener);

item2.setOnMenuItemClickListener(menuItemClickListener);

item3.setOnMenuItemClickListener(menuItemClickListener);//添加子菜单

SubMenu fileSubMenu = menu.addSubMenu(1,4,4,"文件");

MenuItem submenuItem1= fileSubMenu.add(1,5,2,"新建");

MenuItem submenuItem2= fileSubMenu.add(2,6,3,"打开");

MenuItem submenuItem3= fileSubMenu.add(2,7,4,"退出");

submenuItem1.setCheckable(true); //设置为多选框

submenuItem2.setChecked(false); //设置是否被勾选

submenuItem3.setChecked(true); //设置是否被勾选

fileSubMenu.setGroupCheckable(2, true, true); //第三参数确定为单选还是多选

return true;

}//内部类--选项菜单的菜单项响应类

private class MyOnMenuItemClickListener implementsOnMenuItemClickListener{

@Overridepublic booleanonMenuItemClick(MenuItem item) {switch(item.getItemId()){case 1 : {Toast.makeText(MainActivity.this, "点击了菜单项1", Toast.LENGTH_SHORT).show(); break;}case 2 : {Toast.makeText(MainActivity.this, "点击了菜单项2", Toast.LENGTH_SHORT).show(); break;}case 3 : {Toast.makeText(MainActivity.this, "点击了菜单项3", Toast.LENGTH_SHORT).show(); break;}

}return true;

}

}//上下文菜单的回调函数

@Overridepublic voidonCreateContextMenu(ContextMenu menu,View view,ContextMenuInfo menuInfo){super.onCreateContextMenu(menu, view, menuInfo);

menu.setHeaderTitle("上下文菜单");int itemid = 0;

menu.add(0,itemid++, Menu.NONE, "菜单项1");

menu.add(0,itemid++, Menu.NONE, "菜单项2");

menu.add(0,itemid++, Menu.NONE, "菜单项3");

SubMenu subMenu= menu.addSubMenu("子菜单");

subMenu.add("选项1");

subMenu.add("选项2");

}//菜单事件

@Overridepublic booleanonPrepareOptionsMenu(Menu menu){//在显示选项菜单之前被调用,一般可用来修改即将显示的选项菜单

super.onPrepareOptionsMenu(menu);return true;

}

@Overridepublic voidonOptionsMenuClosed(Menu menu){//在关闭选项菜单时被调用

super.onOptionsMenuClosed(menu);

}

@Overridepublic voidonContextMenuClosed(Menu menu) {//在关闭上下文菜单时调用

super.onContextMenuClosed(menu);

}

@Overridepublic boolean onMenuOpened(intfeatureId, Menu menu) {//在显示选项菜单之前调用,该方法在onPrepareOptionsMenu方法之后调用

return super.onMenuOpened(featureId, menu);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值