상상하라 그리고 현실로 만들어라.

상상하는 모든 것이 미래다.

Kotlin과 Android/Android

코틀린으로 안드로이드 화면 두 번 터치해서 종료하기

월터제이(Walter J) 2021. 2. 1. 13:49

안녕하세요, 반갑습니다!

 

화면을 두 번 터치해서 이벤트를 발생시켜야 하는 경우가 있습니다.

간단합니다.

 

1. XML 에 ID 설정하기

터치 이벤트를 발생시킬 View 에 ID 를 설정해줍니다.

 

2. 초기화 

class MainActivity : AppCompatActivity() {
    private var touchCount:Int = 0      //터치 누적 횟수
    private var DELAY:Long = 230    //handler delay, 230 -> 0.23

터치 횟수와 터치 간격을 초기화해줍니다.

 

3. 코틀린 코드

backArea.setOnClickListener({                   //backArea 에 clickListener()
    touchCount++    //화면 터치 시, 터치 횟수 증가

    t_status.text = getString(R.string.oneClick)

    var handler:Handler = Handler()
    handler.postDelayed(Runnable {      //hadler.postDelayed 로 실행 딜레이를 줌
        kotlin.run {
        touchCount = 0
        //1번 터치 시, 수행 할 작업
        t_status.text = getString(R.string.initStr)
        }
    }, DELAY)       //0.23초가 지나기 전,

    if (touchCount == 2) {      //touch횟수가 2번이면,
        touchCount = 0
        twoTouchQuitAlert()         //종료 Alert 호출
    }
})

 

backArea 로 터치 이벤트를 받고 터치 횟수를 증가, 2회 이상이면 종료 Alert()를 호출합니다.

 

 

 

감사합니다.

반응형