根据Google的API文档,实现一个Popup菜单需要一下几步:
1. 实例化一个PopupMenu对象,构造函数包含当前的上下文和视图,以便于固定当前的菜单。
2.使用MenuInflater来加载菜单资源。
3.最后调用show()方法。
效果如下:
代码如下:
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
PopupMenu popupMenu = new PopupMenu(MainActivity.this, arg0);
//设置回调事件
popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.edit:
Toast.makeText(MainActivity.this, "Edit", Toast.LENGTH_SHORT).show();
break;
case R.id.share:
Toast.makeText(MainActivity.this, "Share", Toast.LENGTH_SHORT).show();
break;
case R.id.delete:
Toast.makeText(MainActivity.this, "Delete", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return false;
}
});
//加载XML菜单布局
MenuInflater inflater = popupMenu.getMenuInflater();
inflater.inflate(R.menu.main, popupMenu.getMenu());
popupMenu.show(); //显示菜单
}
});
加入菜单的大致流程如下:
1.使用XML设定菜单的布局。
2.为菜单加载XML文件
3.设定回调函数
4.显示菜单,一般是show方法。