我有一个全屏运行的应用程序,它依赖于菜单按钮。我没有意识到的是像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中的手机新功能,导航栏是 仅出现在没有传统硬件密钥的设备上。 它包含设备导航控件Back,Home和Recents,以及 还会显示为Android 2.3或更早版本编写的应用程序的菜单。
所以我尝试将我的应用程序的目标版本设置为8.而不是菜单我得到一个按钮,允许我更改我的应用程序的屏幕大小 - 但没有菜单按钮。
答案 0 :(得分:0)
我有一个全屏运行的应用程序,它依赖于菜单按钮。
对于两年来说这是一个坏主意。
我没有意识到Galaxy Tab等设备使用的动作栏不再有菜单按钮。
此类设备已经存在两年。
我的应用程序当前加载了一个片段,当触摸菜单按钮时显示设置菜单
这从来都不是一个合适的设计举措。请允许MENU按钮(如果存在)正常运行,在Android 1.x / 2.x上显示选项菜单,并在Android 3.0 +上触发操作栏溢出。
我如何知道设备没有菜单按钮
http://developer.android.com/reference/android/view/ViewConfiguration.html#hasPermanentMenuKey()