【发布时间】:2013-01-28 11:34:29
【问题描述】:
我有一个全屏运行并依赖于菜单按钮的应用程序。我没有意识到像 Galaxy Tab 这样的设备使用了一个不再有菜单按钮的操作栏。当我触摸菜单按钮时,我的应用当前会加载一个显示设置菜单的片段:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
FragmentManager lFM = getSupportFragmentManager();
SettingsDialogFragment lSettingsDialog = new SettingsDialogFragment();
lSettingsDialog.show(lFM, "Settings");
return false;
}
我了解可以向操作栏添加自定义图标,按下该图标可能会导致与菜单按钮相同的行为。我不确定的是如何实现这一点。
我如何知道设备没有菜单按钮而我需要在操作栏上添加图标?它不能像检查 SDK 版本那样简单,因为动作栏显然是在蜂窝中引入的,但是我的 Galaxy Note 运行冰淇淋三明治并且没有动作栏(它仍然有一个菜单按钮)。我不想放弃任何不动产,因此无法在我的主布局中添加按钮或菜单选项。
我刚刚在谷歌开发者上看到:
导航栏 Android 4.0 手机新增,导航栏为 仅出现在没有传统硬件密钥的设备上。 它包含设备导航控件“返回”、“主页”和“最近”,以及 还会显示为 Android 2.3 或更早版本编写的应用程序的菜单。
所以我尝试将我的应用程序的目标版本设置为 8。而不是菜单,我得到一个按钮,允许我更改应用程序的屏幕大小 - 但没有菜单按钮。
【问题讨论】: