안녕하세요, 반갑습니다!
화면을 두 번 터치해서 이벤트를 발생시켜야 하는 경우가 있습니다.
간단합니다.
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()를 호출합니다.
감사합니다.
반응형