손가락으로 화면을 눌렀는지 떼었는지에 따라 동작하는 이벤트이다.
onTouchEvent()를 선언하면 된다.
ACTION_DOWN
- 화면을 손가락으로 누른 순간 이벤트
ACTION_UP
- 화면에서 손가락을 떼는 순간 이벤트
ACTION_MOVE
- 손가락으로 누른채 이동하는 순간의 이벤트
x ( y ) 좌표는 터치한 뷰 안에서의 좌표값을 의미한다.
rawX ( rawY ) 좌표는 스크린, 화면에서의 좌표값을 의미한다.
폰의 키를 누를때 발생하는 이벤트이다.
하드웨어 키보드의 키 및 안드로이드 시스템 버튼을 취급한다.
onKeyDown
- 키를 누른 순간의 이벤트
onKeyUp
- 키를 땐 순간의 이벤트
onKeyLongPress
- 키를 오래 누르는 순간의 이벤트
위와 같이 뒤로가기, 볼륨 버튼에 대한 처리를 할 수 있다.
각 뷰(TextView, EditView ...) 에서는 이벤트를 별도로 제공한다.
뷰 이벤트 처리는 이벤트 소스와 이벤트 핸들러를 리스너로 연결해야 한다.
Event Source - 이벤트가 발생한 객체
Event Handler - 실행할 로직이 구현된 객체
Listener - Event Source와 Event Handler를 연결하는 함수
액티비티에서 인터페이스를 구현한 예
CompundButton.onCheckedChangeListener를 상속받으면 onCheckedChanged 함수를 구현해야함.
이벤트 핸들러를 별도의 클래스로 만든 예
SAM 기법으로 구현한 예
SAM은 코틀린에서 자바 인터페이스를 간단하게 사용하기 위해 제공하는 기법