Android 安卓系统按键码对照表
完整收录 Android KeyEvent KEYCODE 常量,支持按码值或名称搜索,点击行复制常量名
点击任意行可快速复制常量名到剪贴板
| 十进制码 | 十六进制 | 常量名 | 说明 |
|---|
未找到匹配的按键码
工具介绍与功能
本表收录 Android 系统 KeyEvent 类定义的 KEYCODE 常量,是安卓按键事件开发的基础参考。每个按键码对应一个物理或虚拟按键,可在 onKeyDown/onKeyUp 回调中通过 keyCode 参数判断用户按键。
-
完整收录:覆盖数字键、字母键、方向键、功能键、媒体键等
-
双向搜索:支持按十进制码值、十六进制或常量名快速检索
-
一键复制:点击表格行即可复制常量名,方便粘贴到代码
-
中文说明:每个按键码均附中文功能描述,便于理解
安全保障
-
本地查询:所有按键码数据内置于页面,搜索与复制均在本地完成
-
即时搜索:输入即过滤,无需等待,支持模糊匹配
-
标准数据:依据 Android 官方 KeyEvent 文档整理,码值准确
-
隐私安全:不收集任何输入内容,复制操作仅作用于本地剪贴板
常见问题
KEYCODE 的十进制码和十六进制如何对应?
每个 KEYCODE 都有一个整数值,十进制与十六进制只是同一个数值的不同表示。例如 KEYCODE_ENTER 的码值为 66,十六进制为 0x42。在代码中既可写 KeyEvent.KEYCODE_ENTER,也可直接使用数值 66,但推荐使用常量名以提升可读性。
如何在代码中监听某个按键?
在 Activity 或 View 中重写 onKeyDown(int keyCode, KeyEvent event) 方法,通过判断 keyCode 参数来响应按键。例如:if (keyCode == KeyEvent.KEYCODE_ENTER) { ... }。注意返回 true 表示已消费该事件,返回 false 继续传递。本表提供的常量名可直接复制到代码中使用。
BACK 键和 HOME 键有什么区别?
KEYCODE_BACK(码值 4)是返回键,用于返回上一级界面或退出当前 Activity,可以被应用拦截重写 onBackPressed。KEYCODE_HOME(码值 3)是主页键,用于回到桌面,系统出于安全考虑不允许应用常规拦截,只能通过 HOME 监听广播间接感知。两者都是安卓系统的核心导航键。
为什么有些按键码在不同设备上行为不同?
Android 设备形态多样(手机、平板、电视、车载),物理按键布局和可用性差异较大。例如电视盒子没有触摸屏,依赖方向键(DPAD)和媒体键;手机通常没有独立的媒体控制键。开发时应通过 hasSystemFeature 检测设备能力,并对不同输入方式做适配,不能假定所有按键码都可用。
如何处理组合键(如 Shift+字母)?
通过 KeyEvent 的 isShiftPressed()、isCtrlPressed() 等方法判断修饰键状态。在 onKeyDown 回调中先检查修饰键,再结合主按键码判断组合。例如检测 Ctrl+S:先判断 isCtrlPressed() 为 true 且 keyCode 为 KEYCODE_S。注意修饰键本身也有独立 KEYCODE(如 KEYCODE_SHIFT_LEFT=59、KEYCODE_CTRL_LEFT=113)。