본문 바로가기

[Android]/Google Developers

[Android Core] Toast 파해치기 2편

안녕하세요!

허접샴푸입니다~!

 

Toast에 대해 알아보겠습니다. 2편!

출처 : https://developer.android.com/guide/topics/ui/notifiers/toasts

 

토스트 개요  |  Android 개발자  |  Android Developers

토스트는 작은 팝업으로 작업에 관한 간단한 피드백을 제공합니다. 메시지에 필요한 공간만 차지하며 진행 중인 활동은 그대로 표시되고 상호작용도 유지됩니다. 토스트는 시간이 초과하면 자동으로 사라집니다. 예를 들어, 이메일에서 Send를 클릭하면 아래의 화면 캡처와 같이 '메시지를 보내는 중...'이라는 토스트가 트리거됩니다. 상태 메시지에 사용자 응답이 필요하다면 알림을 사용하는 것이 좋습니다. 기본 사항 먼저, makeText() 메서드 중에 하나를 사용

developer.android.com

 

 

[개요]

- 일반적인 토스트 알림은 화면 화단에 표시되며 가로로 가운데 맞춤된다.

- setGravity(int, int, int) 메서드를 이용하여 위치를 변경할 수 있다.

- 메서드는 Gravity 상수, X-좌표 오프셋, Y-좌표 오프셋의 세가지 매개변수를 사용한다.

 

Gravity 관련하여 자세히 살펴보시려면 아래 사이트를 방문하시기 바랍니다.

https://developer.android.com/reference/android/view/Gravity

 

Gravity  |  Android 개발자  |  Android Developers

Gravity public class Gravity extends Object java.lang.Object    ↳ android.view.Gravity Standard constants and tools for placing an object within a potentially larger container. Summary Constants int AXIS_CLIP Raw bit controlling whether the right/bottom ed

developer.android.com

 

 

[활용]

toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0) 에서 CENTER_VERTICAL로 Gravity를 설정해보았습니다. 

CENTER_VERTICAL이므로 세로의 중간! 그림과 같이 중간에 Toast가 표시됩니다.

 

 

toast.setGravity(Gravity.TOP, 0, 0) 으로 설정할 경우 아래와 같이 맨 위에 표시되게 됩니다.

 

무언가 이쁘지가 않죠?

그래서 yOffset을 0에서 300으로 바꿔서 아래와 같이 Toast 메세지를 약간 아래로 내립니다.

yOffset은 왼쪽 위에서 0으로 시작하며, 아래로 내려갈 수록 양수의 값을 가집니다. 즉 300으로 설정하면 양수이므로 화면 아래로 내려가게 됩니다.

 

가끔 앱을 개발하다 화면에 보여지는 컨텐츠들과 Toast 메세지가 겹쳐서 무언가 거슬리는 느낌을 받을 때가 있습니다.

그럴 때에는 setGravitiy 메서드를 통해 위에서 yOffset을 300으로 바꿔 화면 상단에 toast를 띄운 것처럼,

위치를 커스터마이징 하여 이쁜 UI를 만들어보시기 바랍니다.

 

3편에서는 커스텀 Toast 뷰 만드는 방법에 대해서 알아보도록 하겠습니다!

 

도움이 되셨다면 공감과 댓글 남겨주시면 감사하겠습니다~! 질문도 늘 환영합니다!