onKeyDown方法笔记

onKeyDown()⽅法详解

onKeyDown()⽅法详解

当Android设备上的物理按键被按下的时候,程序会回调onKeyDown()⽅法,该⽅法是接⼝KeyEvent.Callback中的抽象⽅法。

Android程序中所有的View都实现了KeyEvent.Callback接⼝并重写了onKeyDown()⽅法,该⽅法主要⽤于捕捉⼿机键盘被按下的事件。

public boolean onKeyDown(int keyCode,KeyEvent event)

 

onKeyDown()⽅法中的两个参数和返回值如下:

  1. keyCode:       表⽰被按下的键值(键盘码),设备的按键中的被⼀个按钮都会有其单独的键盘码,在程序中是根据键盘码知道⽤户按下的是哪⼀个键
  2. event:表⽰按键事件的对象,其中包含了触发事件的详情信息,例如事件的状态、事件的类型、事件的发⽣时间等。当⽤户按下按键       时,系统会⾃动将事件封装成KeyEvent对象供应⽤程序使⽤。
  3. 返回值:是⼀个Boolean类型的变量,当返回值为true时,表⽰已经完整处理了事件,并不希望其他的回调⽅法再次进⾏处理;当返回false时,表⽰并没有处理完事件,更希望其他回调⽅法对其进⾏处理。

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

if (keyCode ==event.KEYCODE_ENTER){//通过keyCode的值来判断点击的是哪⼀个键

//这⾥⾯表⽰处理的对应的事件

return true;

}

return super.onKeyDown(keyCode,event);

}

测试:

重写onkeydown方法,制作推出对话框
   @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(keyCode==KeyEvent.KEYCODE_BACK)
        {
            AlertDialog.Builder builder=new AlertDialog.Builder(this);
            builder.setTitle("提示");
            builder.setMessage("确认退出吗?");
            builder.setNegativeButton("不",null);
            builder.setPositiveButton("退出", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    MainActivity.this.finish();
                }
            });
            builder.create().show();
        }
        return true;
    }
    

主界面点击返回,效果如下

 

更多keyCode的值:

Android中的控件在处理物理按键的事件时,提供的回调⽅法有

onKeyUp() 当前⽤户在该控件上松开某个按键时触发的⽅法

onKeyLongPress() 按键长按事件

KEYCODE_CALL

拨号键

5

KEYCODE_ENDCALL

挂机键

6

KEYCODE_HOME

按键Home

3

KEYCODE_MENU

菜单键

82

KEYCODE_BACK

返回键

4

KEYCODE_SEARCH

搜索键

84

KEYCODE_CAMERA

拍照键

27

KEYCODE_FOCUS

拍照对焦键

80

KEYCODE_POWER

电源键

26

KEYCODE_NOTIFICATION

通知键

83

KEYCODE_MUTE

话筒静⾳键

91

KEYCODE_VOLUME_MUTE

扬声器静⾳键

164

KEYCODE_VOLUME_UP

⾳量增加键

24

KEYCODE_VOLUME_DOWN

⾳量减⼩键

25

控制键

KEYCODE_ENTER

回车键

66

KEYCODE_ESCAPE

ESC键

111

KEYCODE_DPAD_CENTER

导航键 确定键

23

KEYCODE_DPAD_UP

导航键 向上

19

KEYCODE_DPAD_DOWN

导航键 向下

20

KEYCODE_DPAD_LEFT

导航键 向左

21

KEYCODE_DPAD_RIGHT

导航键 向右

22

KEYCODE_MOVE_HOME

光标移动到开始键

122

KEYCODE_MOVE_END

光标移动到末尾键

123

KEYCODE_PAGE_UP

向上翻页键

92

KEYCODE_PAGE_DOWN

向下翻页键

93

KEYCODE_DEL

退格键

67

KEYCODE_FORWARD_DEL

删除键

112

KEYCODE_INSERT

插⼊键

124

KEYCODE_TAB

Tab键

61

KEYCODE_NUM_LOCK

⼩键盘锁

143

KEYCODE_CAPS_LOCK

⼤写锁定键

115

KEYCODE_BREAK

Break/Pause键

121

KEYCODE_SCROLL_LOCK

滚动锁定键

116

KEYCODE_ZOOM_IN

放⼤键

168

KEYCODE_ZOOM_OUT

缩⼩键

169

组合键

KEYCODE_ALT_LEFT

Alt+Left

KEYCODE_ALT_RIGHT

Alt+Right

KEYCODE_CTRL_LEFT

Control+Left

KEYCODE_CTRL_RIGHT

Control+Right

KEYCODE_SHIFT_LEFT

Shift+Left

KEYCODE_SHIFT_RIGHT

Shift+Right

基本

KEYCODE_0

按键’0’

7

KEYCODE_1

按键’1’

8

KEYCODE_2

按键’2’

9

KEYCODE_3

按键’3’

10

KEYCODE_4

按键’4’

11

KEYCODE_5

按键’5’

12

KEYCODE_6

按键’6’

13

KEYCODE_7

按键’7’

14

KEYCODE_8

按键’8’

15

KEYCODE_9

按键’9’

16

KEYCODE_A

按键’A’

29

KEYCODE_B

按键’B’

30

KEYCODE_C

按键’C’

31

KEYCODE_D

按键’D’

32

KEYCODE_E

按键’E’

33

KEYCODE_F

按键’F’

34

KEYCODE_G

按键’G’

35

KEYCODE_H

按键’H’

36

KEYCODE_I

按键’I’

37

KEYCODE_J

按键’J’

38

KEYCODE_K

按键’K’

39

KEYCODE_L

按键’L’

40

KEYCODE_M

按键’M’

41

KEYCODE_N

按键’N’

42

KEYCODE_O

按键’O’

43

KEYCODE_P

按键’P’

44

KEYCODE_Q

按键’Q’

45

KEYCODE_R

按键’R’

46

KEYCODE_S

按键’S’

47

KEYCODE_T

按键’T’

48

KEYCODE_U

按键’U’

49

KEYCODE_V

按键’V’

50

KEYCODE_W

按键’W’

51

KEYCODE_X

按键’X’

52

KEYCODE_Y

按键’Y’

53

KEYCODE_Z

按键’Z’

54

符号

KEYCODE_PLUS

按键’+’

KEYCODE_MINUS

按键’-’

KEYCODE_STAR

按键’*’

KEYCODE_SLASH

按键’/’

KEYCODE_EQUALS

按键’=’

KEYCODE_AT

按键’@’

KEYCODE_POUND

按键’#’

KEYCODE_APOSTROPHE

按键’’’ (单引号)

KEYCODE_BACKSLASH

按键’’

KEYCODE_COMMA

按键’,’

KEYCODE_PERIOD

按键’.’

KEYCODE_LEFT_BRACKET

按键’[’

KEYCODE_RIGHT_BRACKET

按键’]’

KEYCODE_SEMICOLON

按键’;’

KEYCODE_GRAVE

按键’`’

KEYCODE_SPACE

空格键

⼩键盘

KEYCODE_NUMPAD_0

⼩键盘按键’0’

KEYCODE_NUMPAD_1

⼩键盘按键’1’

KEYCODE_NUMPAD_2

⼩键盘按键’2’

KEYCODE_NUMPAD_3

⼩键盘按键’3’

KEYCODE_NUMPAD_4

⼩键盘按键’4’

KEYCODE_NUMPAD_5

⼩键盘按键’5’

KEYCODE_NUMPAD_6

⼩键盘按键’6’

KEYCODE_NUMPAD_7

⼩键盘按键’7’

KEYCODE_NUMPAD_8

⼩键盘按键’8’

KEYCODE_NUMPAD_9

⼩键盘按键’9’

KEYCODE_NUMPAD_ADD

⼩键盘按键’+’

KEYCODE_NUMPAD_SUBTRACT

⼩键盘按键’-’

KEYCODE_NUMPAD_MULTIPLY

⼩键盘按键’*’

KEYCODE_NUMPAD_DIVIDE

⼩键盘按键’/’

KEYCODE_NUMPAD_EQUALS

⼩键盘按键’=’

KEYCODE_NUMPAD_COMMA

⼩键盘按键’,’

KEYCODE_NUMPAD_DOT

⼩键盘按键’.’

KEYCODE_NUMPAD_LEFT_PAREN

⼩键盘按键’(’

KEYCODE_NUMPAD_RIGHT_PAREN

⼩键盘按键’)’

KEYCODE_NUMPAD_ENTER

⼩键盘按键回车

功能键

KEYCODE_F1

按键F1

KEYCODE_F2

按键F2

KEYCODE_F3

按键F3

KEYCODE_F4

按键F4

KEYCODE_F5

按键F5

KEYCODE_F6

按键F6

KEYCODE_F7

按键F7

KEYCODE_F8

按键F8

KEYCODE_F9

按键F9

KEYCODE_F10

按键F10

KEYCODE_F11

按键F11

KEYCODE_F12

按键F12

多媒体键

KEYCODE_MEDIA_PLAY

多媒体键 播放

KEYCODE_MEDIA_STOP

多媒体键 停⽌

KEYCODE_MEDIA_PAUSE

多媒体键 暂停

KEYCODE_MEDIA_PLAY_PAUSE

多媒体键 播放/暂停

KEYCODE_MEDIA_FAST_FORWARD

多媒体键 快进

KEYCODE_MEDIA_REWIND

多媒体键 快退

KEYCODE_MEDIA_NEXT

多媒体键 下⼀⾸

KEYCODE_MEDIA_PREVIOUS

多媒体键 上⼀⾸

KEYCODE_MEDIA_CLOSE

多媒体键 关闭

KEYCODE_MEDIA_EJECT

多媒体键 弹出

KEYCODE_MEDIA_RECORD

多媒体键 录⾳

⼿柄按键

KEYCODE_BUTTON_1

通⽤游戏⼿柄按钮#1

KEYCODE_BUTTON_2

通⽤游戏⼿柄按钮 #2

KEYCODE_BUTTON_3

通⽤游戏⼿柄按钮 #3

KEYCODE_BUTTON_4

通⽤游戏⼿柄按钮 #4

KEYCODE_BUTTON_5

通⽤游戏⼿柄按钮 #5

KEYCODE_BUTTON_6

通⽤游戏⼿柄按钮 #6

KEYCODE_BUTTON_7

通⽤游戏⼿柄按钮 #7

KEYCODE_BUTTON_8

通⽤游戏⼿柄按钮 #8

KEYCODE_BUTTON_9

通⽤游戏⼿柄按钮 #9

KEYCODE_BUTTON_10

通⽤游戏⼿柄按钮 #10

KEYCODE_BUTTON_11

通⽤游戏⼿柄按钮 #11

KEYCODE_BUTTON_12

通⽤游戏⼿柄按钮 #12

KEYCODE_BUTTON_13

通⽤游戏⼿柄按钮 #13

KEYCODE_BUTTON_14

通⽤游戏⼿柄按钮 #14

KEYCODE_BUTTON_15

通⽤游戏⼿柄按钮 #15

KEYCODE_BUTTON_16

通⽤游戏⼿柄按钮 #16

KEYCODE_BUTTON_A

游戏⼿柄按钮 A

KEYCODE_BUTTON_B

游戏⼿柄按钮 B

KEYCODE_BUTTON_C

游戏⼿柄按钮 C

KEYCODE_BUTTON_X

游戏⼿柄按钮 X

KEYCODE_BUTTON_Y

游戏⼿柄按钮 Y

KEYCODE_BUTTON_Z

游戏⼿柄按钮 Z

KEYCODE_BUTTON_L1

游戏⼿柄按钮 L1

KEYCODE_BUTTON_L2

游戏⼿柄按钮 L2

KEYCODE_BUTTON_R1

游戏⼿柄按钮 R1

KEYCODE_BUTTON_R2

游戏⼿柄按钮 R2

KEYCODE_BUTTON_MODE

游戏⼿柄按钮 Mode

KEYCODE_BUTTON_SELECT

游戏⼿柄按钮 Select

KEYCODE_BUTTON_START

游戏⼿柄按钮 Start

KEYCODE_BUTTON_THUMBL

Left  Thumb Button

KEYCODE_BUTTON_THUMBR

Right Thumb Button

待查

KEYCODE_NUM

按键Number modifier

KEYCODE_INFO

按键Info

KEYCODE_APP_SWITCH

按键App switch

KEYCODE_BOOKMARK

按键Bookmark

KEYCODE_AVR_INPUT

按键A/V Receiver input

KEYCODE_AVR_POWER

按键A/V Receiver power

KEYCODE_CAPTIONS

按键Toggle captions

KEYCODE_CHANNEL_DOWN

按键Channel down

KEYCODE_CHANNEL_UP

按键Channel up

KEYCODE_CLEAR

按键Clear

KEYCODE_DVR

按键DVR

KEYCODE_ENVELOPE

按键Envelope special function

KEYCODE_EXPLORER

按键Explorer special function

KEYCODE_FORWARD

按键Forward

KEYCODE_FORWARD_DEL

按键Forward Delete

KEYCODE_FUNCTION

按键Function modifier

KEYCODE_GUIDE

按键Guide

KEYCODE_HEADSETHOOK

按键Headset Hook

KEYCODE_META_LEFT

按键Left Meta modifier

KEYCODE_META_RIGHT

按键Right Meta modifier

KEYCODE_PICTSYMBOLS

按键Picture Symbols modifier

KEYCODE_PROG_BLUE

按键Blue “programmable”

KEYCODE_PROG_GREEN

按键Green “programmable”

KEYCODE_PROG_RED

按键Red “programmable”

KEYCODE_PROG_YELLOW

按键Yellow “programmable”

KEYCODE_SETTINGS

按键Settings

KEYCODE_SOFT_LEFT

按键Soft Left

KEYCODE_SOFT_RIGHT

按键Soft Right

KEYCODE_STB_INPUT

按键Set-top-box input

KEYCODE_STB_POWER

按键Set-top-box power

KEYCODE_SWITCH_CHARSET

按键Switch Charset modifier

KEYCODE_SYM

按键Symbol modifier

KEYCODE_SYSRQ

按 键 System Request / Print Screen

KEYCODE_TV

按键TV

KEYCODE_TV_INPUT

按键TV input

KEYCODE_TV_POWER

按键TV power

KEYCODE_WINDOW

按键Window

KEYCODE_UNKNOWN

未知按键

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码敲上天.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值