我想更详细地解释,
某些android设备有这样的动作按钮,
虽然有些设备喜欢,
在第一种情况下,所有操作按钮都在屏幕外,而在第二种情况下,操作按钮在屏幕下方(屏幕内)...如何检测操作按钮的位置?我根本不知道.. !!
答案 0 :(得分:1)
查看官方Android文档:http://developer.android.com/reference/android/view/KeyCharacterMap.html#deviceHasKey%28int%29
方法deviceHasKey将解决您的问题。 (使用密钥代码KEYCODE_MENU,KEYCODE_HOME,KEYCODE_BACK)。 希望它有所帮助。
答案 1 :(得分:1)
也许在onCreate()
for api 14及以上
boolean PermanentMenuKey = ViewConfiguration.get(this).hasPermanentMenuKey(); // true if physical, false if virtual
表示较低的api:
boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);
boolean hasHomeKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_HOME);
if (hasBackKey && hasHomeKey) {
// no navigation bar, unless it is enabled in the settings
} else {
// 99% sure there's a navigation bar
}
答案 2 :(得分:0)
你可以在这里得到答案。 Check for navigation bar
P.S。栏的正式名称是"导航栏"
https://developer.android.com/training/system-ui/navigation.html
答案 3 :(得分:0)
找到解决方案here,但并非100%保证可以为所有设备工作,某些设备(如HTC,LAVA等)无法使用。此外,minApi需要13+ ...... !!