安卓android显示菜单(4.0以上系统也可以显示)

来源:互联网 发布:电脑系统优化 编辑:程序博客网 时间:2024/05/18 17:45

我的博客首页

安卓4.0以上系统默认不显示图标,得用特殊方法才能显示出来

//菜单选项常量private final int ITEM_MORE = Menu.FIRST + 1;private final int ITEM_EXIT = Menu.FIRST + 3;@Override  public boolean onCreateOptionsMenu(Menu menu) {setIconEnable(menu, true); //添加菜单项menu.add(0, ITEM_MORE, 0, "更多").setIcon(R.drawable.setting);menu.add(0, ITEM_EXIT, 0, "退出").setIcon(R.drawable.exit);return true;}/** * 控制菜单的图标是否显示(安卓4.0以上的系统默认菜单无图标) * @param menu 菜单 * @param enable 是否显示图标 */private static void setIconEnable(Menu menu, boolean enable)  {      try       {          Class<?> clazz = Class.forName("com.android.internal.view.menu.MenuBuilder");          Method m = clazz.getDeclaredMethod("setOptionalIconsVisible", boolean.class);          m.setAccessible(true);                    //MenuBuilder实现Menu接口,创建菜单时,传进来的menu其实就是MenuBuilder对象(java的多态特�?)          m.invoke(menu, enable);                }     catch (Exception e)       {          e.printStackTrace();      }  }  @Overridepublic boolean onOptionsItemSelected(MenuItem item){ Intent intent = new Intent();switch (item.getItemId()){case ITEM_MORE://点击了更多case ITEM_EXIT://点击了退出System.exit(0);break;}return true;}


0 0
原创粉丝点击