ICS / HC中是否有办法检测用户是否可以访问硬件菜单键?
根据配置,我希望改变操作栏的填充方式,例如:
如果用户有物理主页按钮,请减少操作栏中显示的按钮数量。
谢谢, 劳伦斯
答案 0 :(得分:2)
我花了一些时间,但我找到了比依靠 hasPermanentMenuKey()更可靠的方法,这对于像 HTC One 这样的新手机不起作用没有菜单键,但确实有家庭&后退键所以不需要(或显示)软导航栏。为了解决这个问题,请尝试以下代码来检查后退按钮:
boolean hasMenuKey = ViewConfiguration.get(context).hasPermanentMenuKey();
boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);
if(!hasMenuKey && !hasBackKey) {
// Do whatever you need to do, this device has a navigation bar
}
答案 1 :(得分:0)
ICS和蜂窝(遗憾地)取代了菜单键,用于组合操作栏和系统栏,而不让我们配置何时显示菜单按钮。
只是不要假设它存在,或者将目标sdk设置为10,它将始终显示菜单键(看起来像3个点)。
无论如何,如果你找到一种方法来检查菜单按钮是否存在,那将会很有趣。