0

我无法从 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 的实际设备上运行它时没有菜单栏。

4

1 回答 1

0

菜单按钮已从运行 Android 3.0 及更高版本的设备中删除,现在被视为“已弃用”。有一篇很好的博客文章介绍了为什么、如何使用新的 ActionBar 以及如何保持对旧应用程序的旧版支持:

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

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

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

“支持库”中提供了帮助程序以实现向后兼容性:

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

于 2012-07-08T23:33:28.200 回答