Android 키 이벤트

timothy jeong·2021년 10월 31일
0

Android with Kotlin

목록 보기
7/69

키 이벤트란?

키가 의미하는 것은 카카오톡에서 메시지를 보낼때 나타나는 키보드(소프트 키보드)를 의미하는 것이 아니다. 키 이벤트는 안드로이드 기기에 있는 하드웨어 키보드에서 발생하는 이벤트를 말한다.

하드웨어 키보드는 전원버튼, 볼륨 조절 버튼, 하단 네비게이션 바의 버튼을 말한다.

이러한 키 이벤트 중 실제로 많이 설정하는 것은 뒤로가기 버튼이다. 기본적으로 뒤로가기는 이전 액티비티로 돌아가도록 설정되어 있는데, 서비스에 따라 이전액티비티가 아닌 다른 동작을 해야할 필요가 있기 때문이다.

키 이벤트 종류

터치 이벤트와는 별개로 안드로이드 어플리케이션에서 키가 눌렸을 때 이벤트를 처리할 수 있다.

  • onKeyDown: 키를 누른 순간의 이벤트
  • onKeyUp: 키를 떼는 순간의 이벤트
  • onKeyLongPress: 키를 오래 누르는 순간의 이벤트

키 이벤트 처리

터치 이벤트가 하나의 함수에서 이벤트별로 나누어서 처리했던것과는 별개로 키 이벤트는 키 이벤트마다 하나씩 함수가 있다.

class MainActivity : AppCompatActivity() {

    override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
        when(keyCode) {
            KeyEvent.KEYCODE_BACK -> Log.d("info", "onKeyDown \'BACK\'")
        }
        return super.onKeyDown(keyCode, event)
    }

    override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean {
        Log.d("info", "onKeyUp")
        return super.onKeyUp(keyCode, event)
    }
 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}
profile
개발자

0개의 댓글