Key Event
키 입력은 onkeyDown 메서드를 재정의하여 처리할 수 있다.
onKeyDown 메서드로 전달되는 피라미터는 두 개이며,
KeyCode는 어떤 키가 사용되는지 구별할 때 사용되고 keyEvent는 키 입력 이벤트에 대한 정보를
알고 싶을 때 사용 된다.
키 입력 이벤트는 하드웨어 키보드나 소프트 키패드 상관 없이 동일한 이벤트로 전달된다.
Reference
1
2
boolean onKeyDown (int keyCode, KeyEvent event)
boolean onKey (View v, int keyCode, KeyEvent event)
키를 눌렀을 때 전달되는 대표적인 키 값
키 코드 | 설명 |
---|---|
KEYCODE_DPAD_LEFT | 왼쪽 화살표 |
KEYCODE_DPAD_RIGHT | 오른쪽 화살표 |
KEYCODE_DPAD_UP | 위쪽 화살표 |
KEYCODE_DPAD_DOWN | 아래쪽 화살표 |
KEYCODE_DPAD_CENTER | 중앙 버튼 |
KEYCODE_CALL | 통화 버튼 |
KEYCODE_ENDCALL | 통화 종료 버튼 |
KEYCODE_HOME | 홈 버튼 |
KEYCODE_BACK | 뒤로가기 버튼 |
KEYCODE_VOLUME_UP | 소리 크게 버튼 |
KEYCODE_VOLUME_DOWN | 소리 작게 버튼 |
KEYCODE_0 ~ KEYCODE_9 | 숫자 0~9까지의 키값 |
KEYCODE_A ~ KEYCODE_Z | 알파벳 A~Z까지의 키값 |
예시
1
2
3
4
5
6
7
8
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
if (keyCode == KeyEvent.KEYCODE_BACK){
Toast.makeText(this,"시스템 [BACK] 버튼이 눌렸습니다.",Toast.LENGTH_LONG).show();
return true;
}
return false;
}