android - 在 android 中禁用 DPAD 键

标签 android android-layout android-tabhost android-keypad

我正在 try catch 由箭头键(向上、向下、向右和向左)生成的事件并禁用它们。下面的代码 fragment 来自其中一个 Activity 类。

@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
    if(event.getAction() == KeyEvent.KEYCODE_DPAD_DOWN) return true;
    else return true;
}

但是,有了这些代码,按键导航就可以正常工作了。我尝试将关键监听器添加到也不起作用的 Activity 。

目标设备是 Samsung GT-I5500,Android 2.2 版本。

我错过了什么吗?

最佳答案

也覆盖 onKeyDown 并返回 true 而不是 false。 像这样的事情:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    switch (keyCode) {
        case KeyEvent.KEYCODE_DPAD_LEFT:
        case KeyEvent.KEYCODE_DPAD_RIGHT:
        case KeyEvent.KEYCODE_DPAD_UP:
        case KeyEvent.KEYCODE_DPAD_DOWN:
            return true; 
    }
    return false;
}

关于android - 在 android 中禁用 DPAD 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16032005/

相关文章:

java - TabHost 显示一次内容 (onCreate)

android - 如何在 TabHost 中横向 Activity ?

android - 通知不会出现在前台服务中

java - 如何在抽屉导航中提供 SettingsActivity?

android - 这种类型有一个构造函数,必须在这里初始化 - Kotlin

android - 如何在 Android 的 GridView 中使用预加载器

android - RecyclerView奇怪的背景色

android - 如何在android中更改选项卡指示器颜色

java - 类实例化与通过引用检索

android - 膨胀类 fragment 时出错