android-kotlin

kotlin 이벤트 처리하기

cheesecrust1008 2023. 7. 30. 19:21

터치 이벤트

 

ACTION_DOWN : 화면으로 누른 순간의 이벤트 

 

ACTION_UP : 화면에서 손가락을 떼는 순간의 이벤트

 

ACTION_MOVE : 손가락을 누른채로 이동하는 이벤트

 

터치 이벤트는 게임등을 만들 때에 많이 활용한다. 

 

그 외에 뷰들에서는 내장된 이벤트를 제공하기 때문에, 터치 이벤트를 사용하지 않습니다.

 

키 이벤트 처리는

 

onKeyDown : 키를 누른 순간의 이벤트

 

onKeyUp : 키를 떼는 순간의 이벤트

 

onKeyLongPress : 키를 오래 누르는 순간의 이벤트

 

keyCode 로 어떤 키를 눌렀는지를 알 수 있다.

 

뒤로 가기나 volume 키 등은 KeyEvent.KEYCODE_BACK, KeyEvent.KEYCODE_VOLUME_UP, KeyEvent.KEYCODE_VOLUME_DOWN 를 활용해서 이벤트를 처리 합니다.

 

뷰 이벤트

 

이벤트 소스와 이벤트 헨들러로 역할이 나뉘고, 둘을 리스너로 연결해야 이벤트를 처리 할 수 있다.

 

이를 kotlin의 sam 기법을 사용하기도 한다.

 

sam 은 single abstract method 로 자바 인터페이스를 간단하데 사용하기 위해 제공하는 기법이다.

아래와 같이 나타낸다.

binding.checkbox.setOnCheckedChangeListener {
	compoundButton, b ->
    Log.d("kkang", "체크박스 클릭")
}