본문 바로가기

Android/개인 기록

[Android] 토스트 메세지 노출 시간 조정 방법(Toast message time adjustment)

들어가며...

본인은 개발을 하며 토스트 메세지를 많이 사용하는 편이다.

물론 사용자가 이걸 보는지는 모르겠다. 나도 다른 앱 쓸때 밑에 뭐 뜨면 눈길이 잘 안가더라(ㅎ)

보통 토스트 메세지 객체는 아래와 같다.

Toast.makeText(this, "message here", Toast.LENGTH_LONG).show()

여기서, Toast.LENGTH_LONG과 Toast.LENGTH_SHORT  둘 중 하나를 사용하여 시간을 조정한다.

 

LENGTH_LONG 3.5초

LENGTH_SHORT 2

 

가끔 2초가 너무 길고, 3.5초가 너무 짧다고 생각될 때가 있다.

그럴때 사용하기 위해 토스트 메시지 시간 조정 함수를 기록해 둔다.


토스트 메시지 노출 시간 조정 

Toast 메세지의 가시 시간 아래와 같이 커스텀 Handler()를 통해 변경할 수 있다.

아래 예시는 Handler를 이용해 토스트 메시지를 1초 동안 표시한다.

val toast = Toast.makeText(this, "message" , Toast.LENGTH_SHORT)// ✅ 토스트 객체 생성

toast.show() // ✅ 토스트 메세지 표시

Handler().postDelayed(Runnable { // ✅ Runnable을 사용한 지연 취소
    run(){
        toast.cancel()
    }
},1000)// ✅ 밀리초 단위로 수정
  • Handler().postDelayed를 사용해 지정된 지연 시간 후에 특정 작업을 수행하도록 한다.
  • run()에서 toast.cancel()을 호출하여 토스트 메세지를 취소한다.