【发布时间】:2018-01-10 19:31:31
【问题描述】:
我的应用有一个需要禁用“返回”和“菜单”硬件按钮的 Activity。我用onBackPressed 禁用了“返回”,但我不知道如何禁用菜单按钮。
【问题讨论】:
-
小心,这会彻底破坏用户体验。
-
它对我不起作用。
标签: android
我的应用有一个需要禁用“返回”和“菜单”硬件按钮的 Activity。我用onBackPressed 禁用了“返回”,但我不知道如何禁用菜单按钮。
【问题讨论】:
标签: android
您应该尝试关键事件onKeyDown()。这对我有用。
有一个KEYCODE_MENU你可以抓住。
【讨论】:
在你的Activity:
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
final int keycode = event.getKeyCode();
final int action = event.getAction();
if (keycode == KeyEvent.KEYCODE_MENU && action == KeyEvent.ACTION_UP) {
return true; // consume the key press
}
return super.dispatchKeyEvent(event);
}
【讨论】:
更新应用的 Gradle 文件,这样您就有了当前的 compileSdkVersion、buildToolsVersion、minSdkVersion 和 targetSdkVersion。 然后更新项目的 Gradle 文件,以便拥有 Gradle 的当前类路径,例如“com.android.tools.build:gradle:1.5.0”。这为我解决了这个问题。我尝试了上面建议的解决方案,但没有奏效。
【讨论】:
我已经通过覆盖 onKeyUp(如果 keyCode 是 KeyEvent.Menu 返回 true)在我的活动中解决了这个问题
【讨论】: