Android-스낵바 대 토스트-사용법 및 차이점


103

지금까지 애플리케이션에서 토스트 만 사용하고 있으며 지원 디자인 라이브러리의 몇 가지 새로운 기능을 채택 할 계획이므로 Snackbar와 Toast의 권장 사용법이 무엇인지 궁금합니다.

나는 Google 소재 스낵바 문서를 읽고 있습니다.

스낵바는 모바일의 화면 하단과 데스크톱의 왼쪽 하단에있는 작은 팝업으로 작업에 대한 가벼운 피드백을 제공합니다. 그들은 FAB를 포함하여 화면의 모든 요소 위에 있습니다.

토스트.

Android는 주로 시스템 메시징에 사용되는 캡슐 모양의 토스트도 제공합니다. 토스트는 스낵바와 유사하지만 작업을 포함하지 않으며 화면 밖으로 스 와이프 할 수 없습니다.

나는 그들이 무엇을하는지 이해하지만 언제 무엇을 사용 해야하는지 약간 혼란 스럽습니다. 다음을 의미합니까?

  • 사용자 상호 작용이 필요하지 않은 경우 토스트를 사용합니까?
  • "시스템 메시징"이란 무엇입니까? 내 앱과 Android 시스템간에 중요한 일이 발생했을 때 정보를 표시하는 데 적용 되나요?
  • 내가 좋아하는 것은 화면에서 스 와이프 기능입니다. 이것이 토스트를 스낵바로 대체하기 시작하는 이유일까요? (이것은 약간의 의견 기반 질문입니다)

이 링크는 더 이상 작동하지 않습니다. 아마도 이것은 material.io/guidelines/components/snackbars-toasts.html 사용해야 합니까?
Vadim Kotov

답변:


109

사용자 상호 작용이 필요하지 않은 경우 토스트를 사용합니까?

Snackbar를 계속 사용할 수 있습니다. Snackbar로 작업을 수행하는 것은 필수가 아닙니다.

"시스템 메시징"이란 무엇입니까? 내 앱과 Android 시스템간에 중요한 일이 발생했을 때 정보를 표시하는 데 적용 되나요?

나는 이것이 시스템과 관련된 일부 메시지가 있으면 토스트가 사용된다는 것을 의미한다고 생각합니다. 안드로이드 전체 또는 일부 백그라운드 서비스를 실행할 수 있습니다. 예 : Text-To-Speech is not installed.ORNo Email client found.

내가 좋아하는 것은 화면에서 스 와이프 기능입니다. 이것이 토스트를 Snackbar로 대체하기 시작하는 이유일까요? (이것은 약간의 의견 기반 질문입니다)

그것이 하나의 이유입니다. 그러나 몇 가지 다른 장점이 있습니다. 예 : 활동이 완료 되어도 알림이 화면에 남아 있습니다. 스낵바는 그렇지 않습니다. 앱이 종료 된 후에도 알림이 팝업되지 않는 경우 (또는 순차적으로 여러 개의 알림이 생성되는 경우 계속 팝업되는 경우) 혼동이 적습니다. 이것은 Snackbar에서는 발생하지 않습니다.

무엇보다 : 생각한다면 전환해야합니다. 스낵바는 토스트보다 훨씬 낫습니다.


18
건배, Snackbar가 활동 중일 때만 살아 있다는 점은 정말 유용합니다.
Jakub Holovsky

9
시스템 메시지 외에도 앱 전체를 참조하는 메시지에는 토스트가 선호되는 반면 현재 활동을 참조하는 메시지에는 스낵바가 선호된다는 점을 추가하겠습니다. 예를 들어 앱이 시작시 업데이트를 확인하는 경우 결과 메시지에 알림을 사용하는 것이 가장 좋습니다. 앱에 삭제할 수있는 항목이있는 경우 삭제 된 응답 메시지를 실행 취소 버튼이있는 스낵바로 표시하는 것이 좋습니다.
Subaru Tashiro

10
주의해야 할 또 다른 사항은 알림이 꺼져있을 때 토스트가 표시되지 않는다는 것입니다.
Horatio

또한 중요한 차이점은 토스트와 달리 한 번에 하나의 스낵바 표시 된다는 것입니다. 여러 개의 토스트를 서로 겹쳐서 표시 할 수 있습니다. 특히 사용자가이를 제거 할 수 없다는 사실을 고려하면 사용자에게 불편할 수 있습니다. 스 와이프.
Firzen

47

토스트와 스낵바를 약간 비교하고 싶습니다. 제 생각에는 사용자 상호 작용 / 승인이 필요한 경고 또는 정보를 제공하려는 경우 스낵바를 사용해야합니다. 사용자 확인이 필요하지 않은 정보 메시지 인 경우 알림을 사용할 수 있습니다.

+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| # |                                Toast                                 |                                 Snackbar                                 |
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+
| 1 | Cant be dismissed by swiping                                        | Can dismiss by swiping                                                   |
| 2 | Activity not required (Can show in android home or above other apps) | Can show inside an activity of your app                                  |
| 3 | Cant handle user input                                              | Can handle user input                                                    |
| 4 | Good for showing info messages to user                               | Good for showing warning/info type messages to user that needs attention |
+---+----------------------------------------------------------------------+--------------------------------------------------------------------------+

26

토스트:

  1. 토스트는 API 레벨 1에 추가되었습니다.
  2. 기본적으로 활동이 필요하지 않습니다 (Android 홈 또는 다른 앱 위에 표시 가능)
  3. 사용자 입력에 따라 작업을 수행 할 수 없습니다.
  4. 스 와이프하여 닫을 수 없습니다.
  5. Swipe, Click 등과 같은 사용자 입력을 처리 할 수 ​​없습니다.
  6. 사용자에게 정보 메시지를 표시하는 데 적합

스낵바:

  1. SnackBar는 API 레벨 23에 추가되었습니다.
  2. 애플리케이션 활동 내부에 표시 될 수 있습니다.
  3. 작업을 수행 할 수 있습니다.
  4. 스 와이프하여 닫을 수 있습니다.
  5. 사용자 입력을 처리 할 수 ​​있습니다.
  6. 주의가 필요한 사용자에게 경고 / 정보 유형 메시지를 표시하는 데 좋습니다.

스낵바 및 토스트 사용 :

스낵바:

SnackBar는 작업 수행 옵션과 함께 간단한 팝업 메시지를 표시해야하는 영역에서 사용할 수 있습니다. 예 : GMail 응용 프로그램에서 메일을 삭제하면 하단에 빠른 SnackBar가 표시되고 작업 버튼 '실행 취소'와 함께 메시지 '1 삭제됨'이 표시됩니다. '실행 취소'버튼을 누르면 삭제 된 메일이 복원됩니다.

토스트:

Toast는 시스템 메시지를 표시해야하는 영역에서 사용할 수 있습니다.

예를 들면 :

앱이 원격 서버에서 JSON을 다운로드하려고하는데 서버 시간 초과 또는 리소스 없음으로 인해 실패하는 경우 '오류 발생'이라는 오류 메시지 만 표시하면됩니다. 그러나 스 와이프하여 토스트 메시지를 닫을 수 없음을 이해하십시오. 여전히 앱에서 해제 할 수있는 기능을 원한다면 SnackBar로 이동하십시오.


13

팝업 메시지 개요 의 공식 문서에 따르면 :

참고 : 플로팅 작업의 클래스에 우선 토스트 . 하지만 토스트는 현재 계속 지원됩니다, 플로팅 작업은 이제 디스플레이 간단한, 사용자에게 과도 메시지를 선호하는 방법입니다.

및 (Material Design) Snackbars 의 문서 :

관련 개념 : Android는 또한 시스템 수준 알림을 표시하는 데 사용할 수있는 유사한 API가 포함 된 Toast 클래스를 제공합니다 . 일반적으로 스낵바는 작업이 발생한 UI의 컨텍스트에 표시 될 수 있으므로 사용자에게 피드백 메시지를 표시하는 데 선호되는 메커니즘입니다. 이것이 불가능한 경우에는 토스트 를 예약하십시오 .


2

Google의 Material Design Specification에 따르면 작업없이 Snackbar를 사용해도 괜찮습니다. Snackbar가 단일 문자열 만 표시하는 경우 어떻게 보이는지에 대한 예제를 제공했습니다. 예를 들어, "시스템 메시징"은 네트워크 연결이 끊어지는 것과 같은 장치 이벤트를 의미한다고 가정합니다. 반면 이메일 보관은 Gmail 전용 작업입니다.

일관성을 위해 Toast 또는 Snackbar를 선택하여 앱 전체에 적용하는 것이 좋습니다.



1

짧은 대답은 이것이 백그라운드에서 발생하는 일을 사용자에게 전달하는 두 가지 방법이며, 둘 중 하나를 정점에 맞출 수 있다는 것입니다. 둘 다 괜찮습니다. 동일한 것을 사용하고 있고 서로 전환하지 않는지 확인하십시오.

긴 대답 :

  • 아니요, 즉, 조치가 필요하면 Snackbar를 사용해야합니다. "업로드 완료"와 같은 메시지에만 Snackbar를 계속 사용할 수 있습니다.
  • "시스템"은 안드로이드 시스템만을 의미하지 않습니다. 예를 들어 서버에서 정보를 가져 오는 동안 json 구문 분석 문제가있는 경우에도 토스트를 사용하여 사용자가 서버와 통신하는 동안 문제가 발생하도록 할 수 있습니다.
  • 이걸 정말 스 와이프해야한다면 Snackbar를 선택하는 이유가 될 것입니다.

1

우리 디자인 팀은 토스트 나 스낵바를 사용하는 방법도 검토하고 있습니다. 우리는 앱이 유연성을 고려할 때 스낵바를 사용해야한다는 결론에 도달했습니다.

토스트는 여러 화면에서 여전히 의미 가있는 지속적이고 짧은 문자열 정보 메시지 가 필요할 때만 사용해야합니다 .


1

토스트와 스낵바 Android의 차이점

  • 토스트 메시지는 화면 어디에서나 사용자 정의하고 인쇄 할 수 있지만 스낵바는 화면 하단에만 표시 될 수 있습니다.
  • Toast 메시지에는 작업 버튼이 없지만 Snackbar에는 선택적으로 작업 버튼이있을 수 있습니다.
  • 시간 제한이 끝날 때까지 토스트 메시지를 끌 수 없지만 시간 제한 전에 스낵바를 스 와이프 할 수 있습니다.
  • 이 세 가지 값을 사용하여 메시지가 표시되는 시간을 설정할 수 있습니다.
    Snackbar.LENGTH_LONG
    Snackbar.LENGTH_SHORT
    Snackbar.LENGTH_INDEFINITE

용법

토스트

Toast.makeText(getApplicationContext(),"Hello",Toast.LENGTH_SHORT).show();

스낵바

Snackbar snackbar = Snackbar.make(view,"This is Simple Snackbar",Snackbar.LENGTH_SHORT);
snackbar.show();

0

Android는 주로 시스템 메시징에 사용되는 캡슐 모양의 토스트도 제공합니다.

"시스템 메시지"는 특정 시간 동안 토스트가 표시되고 사용자가 여러 활동을 탐색하거나 앱이 백그라운드로 이동하더라도 닫을 수 없다는 사실을 의미하기도합니다.

활동 범위를 제한하고이를 해제 할 수있는 스낵바의 장점이라고 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.