2

我有一个通过这种方式启动的全屏活动:

 super.onCreate(savedInstanceState);
 requestWindowFeature(Window.FEATURE_NO_TITLE);
 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
 WindowManager.LayoutParams.FLAG_FULLSCREEN);
 setContentView(R.layout.preview);

我想通过这种方式在屏幕底部显示一个菜单:

public boolean onCreateOptionsMenu(Menu menu) {
   MenuInflater inflater = getMenuInflater();
   inflater.inflate(R.layout.menu, menu);
   return true;
}

使用 uiOptions (AndroidManifest) splitActionBarWhenNarrow。但是什么都没有出现,是什么问题?谢谢

4

4 回答 4

2

这种行为是因为“硬件”菜单按钮正在逐步淘汰,取而代之的是 ActionBar,有关更多信息,请参阅此Android 开发人员博客文章

有关 ActionBar 的更多信息,请参见:

http://developer.android.com/design/patterns/actionbar.html

于 2013-02-11T23:00:29.920 回答
1

您正在尝试将布局膨胀为菜单

inflater.inflate(R.layout.menu, menu);

也许应该是

inflater.inflate(R.menu.menu, menu);
于 2012-06-10T17:13:07.320 回答
1

在尝试在以前运行良好的应用程序上升级 TargetSDK 时,我遇到了类似的问题。我有一个全屏应用程序,用户可以在整个屏幕上绘制并从选项菜单中保存,但是在尝试升级 TargetSDK 为设备带来新功能时,我发现我失去了这个功能,所有互联网建议都是实施一个动作栏。

经过深思熟虑,我决定最好的选择是从 onBackPressed 实现我自己的菜单,并向用户显示一个方便的提示,以在 Activity 首次启动时提醒用户这种有点奇怪的行为。显然,菜单需要有一个退出选项或在再次按下返回时退出活动。

它违背了标准的 Android 行为,但我唯一的选择是将不需要的 ActionBar 放入我的全屏活动中,不再使其全屏显示,或者将应用程序保留为“旧版应用程序”并且不添加任何新功能。

于 2014-02-21T10:57:05.647 回答
0

您在以下行有问题

 inflater.inflate(R.layout.menu, menu);

改成

  inflater.inflate(R.menu.menu, menu);

**还要确保您没有保存

菜单.xml

在下面

布局文件夹

. 将其保存在菜单文件夹中。**

路径将是 res->menu->menu.xml

于 2012-06-10T17:16:44.323 回答