Android之PopupMenu

基本步骤:
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();
发布了34 篇原创文章 · 获赞 5 · 访问量 7492

猜你喜欢

转载自blog.csdn.net/qq_39438055/article/details/104105096