【问题标题】:How can I disable the hardware menu button in my app?如何禁用我的应用程序中的硬件菜单按钮?
【发布时间】:2018-01-10 19:31:31
【问题描述】:

我的应用有一个需要禁用“返回”和“菜单”硬件按钮的 Activity。我用onBackPressed 禁用了“返回”,但我不知道如何禁用菜单按钮。

【问题讨论】:

标签: android


【解决方案1】:

您应该尝试关键事件onKeyDown()。这对我有用。

有一个KEYCODE_MENU你可以抓住。

【讨论】:

    【解决方案2】:

    在你的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);
    }
    

    感谢original answer

    【讨论】:

      【解决方案3】:

      更新应用的 Gradle 文件,这样您就有了当前的 compileSdkVersion、buildToolsVersion、minSdkVersion 和 targetSdkVersion。 然后更新项目的 Gradle 文件,以便拥有 Gradle 的当前类路径,例如“com.android.tools.build:gradle:1.5.0”。这为我解决了这个问题。我尝试了上面建议的解决方案,但没有奏效。

      【讨论】:

        【解决方案4】:

        我已经通过覆盖 onKeyUp(如果 keyCode 是 KeyEvent.Menu 返回 true)在我的活动中解决了这个问题

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-12-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多