选项菜单不从xml充气

时间:2012-07-08 22:25:13

标签: android menubar android-inflate

我无法从xml中扩展选项菜单。这是我的代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // TODO Auto-generated method stub
    super.onCreateOptionsMenu(menu);

    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
} 

当我按下模拟器上的菜单按钮时它运行正常,但是当我在运行ics的实际设备上运行它时没有菜单栏。

1 个答案:

答案 0 :(得分:0)

菜单按钮已从运行Android 3.0及更高版本的设备中删除,现在被视为“已弃用”。关于为什么,如何使用新的ActionBar以及如何保留对旧应用程序的遗留支持,有a nice Blog-post

  

如果您的应用在没有专用菜单按钮的设备上运行,则   system决定是否将操作溢出添加到导航   根据您在<uses-sdk>声明支持的API级别来设置栏   清单元素。逻辑归结为:

     
      
  • 如果您将minSdkVersiontargetSdkVersion设置为11或更高,系统将不会添加旧版溢出按钮。
  •   
  • 否则,系统将在Android 3.0或更高版本上运行时添加旧版溢出按钮。
  •   
  • 唯一的例外是,如果将minSdkVersion设置为10或更低,请将targetSdkVersion设置为11,12或13,并且不要使用ActionBar,   系统将在运行您的应用程序时添加旧版溢出按钮   在Android 4.0或更高版本的手机上。
  •   

如果您正在开始Android开发,或者您现在正在创建一个新应用程序,请不要使用此类菜单,而应使用ActionBar。

"Support Library"中提供了帮助程序,以实现向后兼容性:

  

图书馆不支持。但是,在创建时   在您的选项菜单中,您可以声明应添加哪些项目   操作栏可用(在Android 3.0或更高版本上)。