如何禁用 Android 游戏手柄默认控件?
Posted
技术标签:
【中文标题】如何禁用 Android 游戏手柄默认控件?【英文标题】:How to disable Android gamepad default controls? 【发布时间】:2015-04-13 17:03:18 【问题描述】:我正在尝试制作一个由游戏手柄控制的应用。我已经让它工作得很好,但是当插入游戏手柄时,android 有一些用于导航的默认控件,例如 B 按钮带你返回一个菜单。我希望能够使用 Android 默认设置的按钮。有没有办法禁用默认的 Android 控件?我找不到任何关于默认 Android 游戏手柄控件的信息,更不用说如何禁用它们了。
【问题讨论】:
【参考方案1】:我想通了。对于将来需要此功能的任何人,这里是如何做到的。当你添加 onKeyDown 覆盖命令时,它是这个样子的。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
return super.onKeyDown(keyCode, event);
据我了解,该返回行使 Android 系统可以访问按钮按下。但是,如果你让它总是返回 true,Android 系统永远不会看到输入。例如:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
if(keyCode == KeyEvent.KEYCODE_BUTTON_A)
buttonAPressed = true;
return true;
我不知道这是否是最好的方法,但这是我的工作。希望这可以帮助任何需要它的人!
【讨论】:
这似乎也是亚马逊推荐的用于 Fire TV 遥控器和控制器的方法 ;-) developer.amazon.com/docs/fire-tv/remote-input.html以上是关于如何禁用 Android 游戏手柄默认控件?的主要内容,如果未能解决你的问题,请参考以下文章
使用 android 游戏手柄操纵杆时如何监听开关 MotionEvent.AXIS?