안녕하세요!
허접샴푸입니다~!
Snackbar에 대해 알아보겠습니다.
Snackbar는 무엇인가?
Snackbar은 화면 하단에 앱 프로레스에 관한 간단한 메세지를 제공합니다.
참조: https://material.io/components/snackbars/#usage
Snackbar 클래스가 Toast를 대체합니다.
현재 Toast도 여전히 지원되지만 간략한 임시 메시지를 표시하는 데 Snackbar가 더 많이 사용됩니다.
출처 : https://developer.android.com/training/snackbar
즉, Toast 보다는 Snackbar를 사용하라는, 권장한다는 뜻이군요! ㅋㅋ
이번 편에서 알아볼 것은 다음과 같습니다.[알아볼 것] - 어떠한 동작에 대해 간단한 피드백을 제공한다. - 폰 스크린 아래에 간단한 메세지를 보여줄 수 있다. 큰 화면 기기에서는 왼쪽 아래에 표시된다. - Snackbar는 화면에 있는 모든 다른 항목들 위에 표시되며 한번에 하나씩만 보여진다. |
[사전 중요사항]
Snackbar를 사용하기 위해서는 build.gradle (Module: app)에 아래와 같이 dependency를 추가해주셔야 합니다!
dependencies { ... implementation 'com.google.android.material:material:1.1.0' ... } |
[알아보자]
1. 먼저 Snackbar 사용법과 화면에 어떻게 표시되는지 봐볼까요?
Snackbar.make() 메서드를 호출하여 Snackbar 객체를 만듭니다.
static Snackbar make(View view, CharSequence text, int duration) | make(View view, int resId, int duration) |
view = 뷰를 지정하여야 하며, Snackbar는 Snackbar를 화면에 보여줄 수 있도록 해당 view의 부모 view를 찾게 됩니다. (즉 button을 view로 넣었다면, button을 품고 있는 부모 view를 찾아 그 부모 view에 Snackbar를 띄운다는 소리겠죠? (^오^)
text = 문자열을 집어넣으면 됩니다. or resId = 정수값의 id 이니, strings.xml의 id를 집어넣어주라는 소리겠쥬?
duration = LENGTH_LONG, LENGTH_SHORT, LENGTH_INDEFINITE 세 종류 중 하나를 넣으시면 됩니다. LENGTH_INDEFINITE 요놈은 무한으로 보여줘야 할 때 사용하시면 됩니다. 참고로 Toast 와 다르게 직접 8000(8초)라고 입력해서 원하는 시간만큼 보여주는 것도 가능하답니다.
(결과 화면)
Hello World 라고 Snackbar(회색 배경의 바)가 화면 아래에 표시됩니다.
2. They show a brief message at the bottom of the screen on mobile and lower left on larger devices(폰 스크린 아래에 간단한 메세지를 보여줄 수 있다. 큰 화면 기기에서는 왼쪽 아래에 표시된다.. 라고 구글 developers 문서에 나와있는 데 과연 그럴까요?
(이것은 제가 궁금해서... ㅎㅎ)
(결과 화면)
뭡니까 이게? 왼쪽 아래가 아닌 화면 중간 아래에 작게 표시되네요? Lower Left on Larger devices라고 공식 문서에 나와있는데 더 큰 기기에서 실행해야 하는건가... 아무튼 매우 중요한 사항은 아니므로 PASS!
3. Snackbar는 한번에 하나만 표시된다?
(결과 화면)
두개를 띄울 수 있도록 코딩을 하였으나 역시 Hello World2 밖에 표시되지 않습니다. 결국 한번에 하나만 표시 되는군요!
오늘은 여기까지입니다~!
다음 2편에서 찾아오도록 하겠습니다! 2편에서는 더 파해쳐 보도록 하겠습니다!
궁금한 점이 있으면 댓글로 남겨주세요~!
혹시 만들고 싶으신 뷰가 있으시면 댓글로 남겨주십쇼.
제가 만들어서 리뷰할 수 있도록 하겠습니다!
'[Android] > Google Developers' 카테고리의 다른 글
[Android Core] Snackbar 파해치기 3편 (0) | 2020.03.31 |
---|---|
[Android Core] Snackbar 파해치기 2편 (0) | 2020.03.22 |
[Android Core] Toast 파해치기 3편 (0) | 2020.03.09 |
[Android Core] Toast 파해치기 2편 (0) | 2020.03.06 |
[Android Core] Toast 파해치기 1편 (0) | 2020.03.06 |