基本步骤:
1、创建Menu
2、实例化PopupMenu对象
3、加载菜单资源:利用MenuInflater
4、为PopupMenu设置点击监听器
5、千万不要忘记这一步
【注意】在API版本11之后的设备才可以使用
一、一、创建Menu
1、在res文件夹中新建文件夹menu;
2、在menu文件夹中新建popup.xml(文件名随意),文件内容如下,item就是menu菜单中的条目;
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/copy"
android:title="复制" />
<item
android:id="@+id/paste"
android:title="粘贴" />
</menu>
二、实例化PopupMenu对象
PopupMenu menu=new PopupMenu(MainActivity.this,popupBtn);
参数1:环境上下文
参数2:View anchor,被锚定的view,弹出式菜单要依附于谁,以后要出现在谁的下方,指定这个控件
三、加载菜单资源:
利用MenuInflater将Menu资源加载到PopupMenu.getMenu()所返回的Menu对象中
将R.menu.popup对应的菜单资源加载到弹出式菜单中
menu.getMenuInflater().inflate(R.menu.popup,menu.getMenu());
四、为PopupMenu设置点击监听器
menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()){
case R.id.copy:
Toast.makeText(MainActivity.this,"复制",Toast.LENGTH_SHORT).show();
break;
case R.id.paste:
Toast.makeText(MainActivity.this,"粘贴",Toast.LENGTH_SHORT).show();
break;
}
return false;
}
});
5、千万不要忘记这一步
menu.show();