본문 바로가기

[Android]/Google Developers

[Android Core] Snackbar 파해치기 2편

안녕하세요! 

허접샴푸입니다~!

Snackbar에 대해 알아보겠습니다. 2 편입니다.

 

이번 2편에서는 

(1) 메세지에 작업 추가하기

(2) Snackbar 커스터마이징 하기

(3) 나머지 프로퍼티

 

 

[알아보자]

(1) 메세지에 작업 추가하기

출처: https://material.io/components/snackbars /#usage

위 그림을 보면 "RETRY"라는 보라색의 글자를 확인할 수 있습니다.

Snackbar에 작업을 추가하면 저렇게 메시지 텍스트 옆에 버튼이 생깁니다. 버튼을 누르면 작업 또한 트리거할 수 있습니다.

출처: https://developer.android.com/training/snackbar/action

 

- setAction()을 통해 버튼에 원하는 문구와, 버튼을 눌렀을 때 트리거를 적용할 수 있습니다. 저는 단순히 버튼을 "눌러"라고 표시하게 해놓았으며, 그 "눌러" 버튼을 클릭하면 "확인 누름!"이라는 문구의 Toast를 띄우도록 하였습니다.

 

(결과)

"눌러" 버튼을 클릭하면 Snackbar는 특성상 사라지며, "확인 누름!"이라는 Toast가 뜨게 됩니다.

 

 

(2) Snackbar 커스터마이징 하기

Snackbar는 메시지의 색, 버튼의 색, 백그라운드 색을 바꿀 수 있습니다. 아래 간단한 예를 보겠습니다.

- setTextColor: 메시지 색 변경

- setActionTextColor: 버튼의 색 변경

- setBackgroundTint: 백그라운드 색 변경

- 위 예에서는 android.R.color.이라고 하여 안드로이드에서 제공하는 색들 중 아무 색이나 막 집어넣어서 테스트 해보았습니다. 

 

(결과 화면)

- 코드를 보면 메시지의 색은 holo_orange_light이므로 주황색, 버튼의 색은 holo_blue_bright으로 얕은 파란색, 그리고 백그라운는 holo_red_dark로 빨간색이 되겠습니다.

 

 

(3) 나머지 프로퍼티

Snackbar는 Toast의 진화형?이라고 해야할까요? 물론 지금은 간단한 예만 살펴보아서 그렇지, 큰 프로젝트에선 Toast 보다도 매우 유용하게 쓰일 것 같습니다.

 

<Callback>

- 먼저 Callback을 추가할 수 있으며, Snackbar가 화면에 보여졌는 지, 사라졌는 지를 알 수 있습니다. 위 코드와 같이 Log.d를 작성하여 로그캣에서 확인해 보았습니다. 아래 그림과 같이 잘 작동됨 또한 확인하였습니다.

 

<Animation>

Snackbar 표시할 때 2가지의 애니메이션이 있으며 ANIMATION_MODE_FADEANIMATION_MODE_SLIDE입니다.

 

아래 화면을 살펴본 후 원하는 애니메이션을 적용하여 쓰시기 바랍니다.

1. ANIMATION_MODE_SLIDE

아래에서 위로 SLIDE하는 형태입니다.

2. ANIMATION_MODE_FADE

서서히 나타나는 FADE 형태입니다.

오늘은 여기까지입니다~!

 

궁금한 점이 있으면 댓글로 남겨주세요~!

혹시 만들고 싶으신 뷰, 기능 등 그 무엇이라도 있으시면 댓글로 남겨주십쇼.

제가 만들어서 리뷰할 수 있도록 하겠습니다!