8-1 터치와 키 이벤트

StrayCat·2022년 10월 6일
0

터치 이벤트

  • 앱에서 발생하는 사용자의 터치 이벤트를 처리하고 싶다면 액티비티 클래스에 터치 이벤트의 콜백 함수인 onTouchEvent()를 선언한다.
  • 콜백함수 : 어떤 이벤트가 발생하거나 시점에 도달할 때, 시스템에서 자동으로 호출하는 함수
    override fun onTouchEvent(event: MotionEvent?): Boolean {
        Log.d("lumine", "Touch Event : ${event.toString()}")
        return super.onTouchEvent(event)
    }
  • MotionEvent 객체 안에 터치 종류와 좌표 값이 담겨있다.

action 종류

  • ACTION_DOWN : 터치 누를때
  • ACTION_UP : 손을 뗄 때
  • ACTION_MOVE : 움직일 때

좌표값 얻기

  • event.x : 이벤트가 발생한 뷰의 X 좌표
  • event.rawX : 화면의 X 좌표

키 이벤트

    override fun onKeyLongPress(keyCode: Int, event: KeyEvent?): Boolean {
        return super.onKeyLongPress(keyCode, event)
    }

    override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
        return super.onKeyDown(keyCode, event)
    }

    override fun onKeyUp(keyCode: Int, event: KeyEvent?): Boolean {
        return super.onKeyUp(keyCode, event)
    }
  • 사용자가 키를 누르는 순간에 발생하는 함수
  • 소프트 키보드의 값이 아니라 실제 하드웨어 적인 버튼을 눌렀을 때 적용
  • 현재는 볼륨조절 버튼, 뒤로가기 버튼 만 지원되어 이벤트가 발생한다. (전원 버튼, 홈버튼, 오버뷰버튼 불가능)
  • 뒤로가기 버튼에 대해서만 아래 함수를 사용해서 처리 할 수 있다.
    override fun onBackPressed(){
        Log.d("lumine", "Back button Pressed")
        
    }

0개의 댓글