Menu键控制PopupMenu的相关bug及其避免方法

本文讨论了使用Menu键打开的PopupMenu在Android中出现的潜在问题,并提供了相关解决方案。当点击Menu键时,PopupMenu通常从底部弹出,如图1-1所示。为实现这一效果,开发者需正确调用Activity接口并配置xml菜单资源。
摘要由CSDN通过智能技术生成

1.通过menu键控制的菜单从下弹出,如图1-1所示:核心代码是调用Activity的接口以及xml文件的menu

public boolean onCreateOptionsMenu(Menu menu){
	getMenuInflater().inflate(R.menu.main, menu);
	return true;
}

public boolean onMenuItemSelected(intfeatureId, MenuItem item){
	witch(item.getItemId()) {
		case Item.ID1:
			//do something
			break;
		case Item.ID2:
			//do something
			break;
			//......
		default:
			break;
	}
	return super.onMenuItemSelected(featureId, item);
}



2.通过屏幕上某个按钮调用下拉框式的popupmenu,如图1-2所示:(下图使用的是自定义的actionbar,不能使用menu键来控制这个的Popupmenu。如果是系统默认的actionbar则可以通过menu键直接控制一个默认样式的下拉式menu)
故该图中样式的menu核心代码是使用Popupmenu类来实现。
btn_popUp = (Button) findViewById(R.id.btn_popUp);
btn_popUp.setOnClickListener(newOnClickListener(){
	public void onClick(View v) {
		PopupMenu popup = newPopupMenu(MenuActivity2.this, v)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值