你的位置:首页 > 操作系统

[操作系统]菜单(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;      }    });  }