菜单(Menu)的三中创建方式——Android开发之路2

 菜单的三种创建方式

一、OptionsMenu---选项菜单

Android应用中的菜单默认是隐藏的,只有当用户点击手机上的MENU键,系统才会显示菜单。这种菜单叫做选项菜单(Options Menu)或系统菜单。
从3.0开始,Android不要求手机设备上必须提供MENU按键。因此Android推荐使用ActionBar来代替Menu。
在不同的版本中菜单显示效果有差异

二、ContextMenu---上下文菜单 

三、PopupMenu---弹出式菜单

可以在指定的组件上设置弹出式菜单,默认情况下,弹出式菜单会显示在该组件的下方或者上方,PopupMenu可增加多个菜单项,也可以为菜单项增加子菜单项。

创建步骤:

  1、调用new PopupMenu(MainActivity.this,View view),view代表激发弹出菜单的组件。

  2、调用MenuInflater()方法将菜单填充到PopupMenu。

  3、调用PopupMenu的show方法显示弹出式菜单。

代码案例:

点击一个按钮,弹出菜单项

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @SuppressLint("NewApi")
    public void getItem(View view) {
        // 创建弹出式菜单
        PopupMenu popupMenu = new PopupMenu(MainActivity.this, view);
        // 获取菜单对象
        Menu menu = popupMenu.getMenu();
        // 添加菜单选项
        menu.add("查找");
        menu.add("删除");
        popupMenu.show();// 显示菜单
        // 设置菜单项的监听事件,Toast点击的菜单项的内容
        popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                Toast.makeText(MainActivity.this, item.getTitle(), 0).show();
                return false;
            }
        });
    }
原文地址:https://www.cnblogs.com/shen-hua/p/5709683.html