Android
[Android/Kotlin] Toast vs Snackbar 차이점
haehyun
2022. 5. 4. 00:11
728x90
Toast
- API 1 레벨에 추가된 기능.
- 기본적으로 액티비티가 필요하지 않다. (안드로이드 홈 화면이나 다른 앱 위에서도 표시 가능)
- 사용자 입력에 의한 액션을 포함할 수 없다.
- 스와이프, 클릭 등 사용자 입력을 처리할 수 없다.
- 스와이프로 스크린에서 지울 수 없다.
- 사용자에게 정보 메시지를 표시하는 데 적합하다.
- 시스템 메시지를 표시해야하는 부분에서 사용한다.
ex) 앱이 원격 서버에 JSON 데이터를 요청할 때 서버 시간 초과 또는 리소스 없음으로 인해 실패하면 '오류 발생'이라는 오류 메시지를 Toast로 표시한다.
SnackBar
- API 23 레벨에 추가된 기능.
- 애플리케이션의 액티비티 안에서 표시된다.
- 액션을 포함할 수 있다.
- 사용자 입력을 처리할 수 있다.
- 스와이프로 스크린에서 지울 수 있다.
- FAB(Floating Action Button)을 포함 스크린의 모든 요소들 위에 있다.
- 사용자에게 주의가 필요한 경고/정보/피드백 메시지를 표시하는 데 적합하다.
- 액션 옵션과 함께 간단한 팝업 메시지를 표시할 때 사용.
ex) 메일함에서 메일을 삭제할 때 '1 Deleted' 메시지와 함께 'Undo' 액션 버튼이 있는 SnackBar를 표시한다.
Toast | SnackBar | |
Swiping | 스와이프로 지우기 불가 | 스와이프로 지우기 가능 |
Activity | 액티비티 필요 없음 (안드로이드 홈 또는 다른 앱의 위에도 표시 가능) | 앱의 액티비티 안에서 표시 가능 |
User Input | 사용자 입력 처리 불가 | 사용자 입력 처리 가능 |
Usage | 사용자에게 정보 메시지를 표시하기에 적합 | 사용자에게 주의가 필요한 경고/정보 타입 메시지를 표시하기에 적합 |
// 생성 코드, 사진 추가 예정~~~~~~~
- Meterial Design - SnackBar, https://material.io/components/snackbars#usage
- Material Design - SnackBar & Toast, https://material.io/archive/guidelines/components/snackbars-toasts.html#snackbars-toasts-specs
- Stackoverflow - Anroid Toast vs SnackBar usage and difference, https://stackoverflow.com/questions/34432339/android-snackbar-vs-toast-usage-and-difference
728x90