【问题标题】:Options Menu not Inflating from xml选项菜单不从 xml 膨胀
【发布时间】:2023-03-25 08:51:01
【问题描述】:

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

【问题讨论】:

    标签: android menubar android-inflate


    【解决方案1】:

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

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

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

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

    为了向后兼容,"Support Library" 中提供了帮助程序:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 2012-07-30
      • 2013-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多