Toast

사용자의 행동에 대한 간단한 피드백을 제공하는 알림 창입니다. 화면 하단에 나타나 사용자의 현재 작업을 방해하지 않으며, 일정 시간이 지나면 자동으로 사라집니다.

WantedToast

SnackbarHost를 기반으로 한 Wanted 커스텀 Toast 컴포넌트입니다. WantedToastVisuals 를 사용하면 Variant와 아이콘이 포함된 Toast로 표시되고 기본 SnackbarVisuals 를 를 사용하면 메시지만 표시됩니다.

val snackbarHostState = remember { SnackbarHostState() }
WantedToast(snackbarHostState = snackbarHostState)

Parameters

이름타입설명
snackbarHostStateSnackbarHostStateSnackbar 상태를 관리합니다.
modifierModifier외형을 조정합니다.
windowInsetsWindowInsets시스템 인셋 대응을 위한 설정입니다.

Overload

fun showToast(...) 커스텀 컴포넌트 콘텐츠로 Toast를 표시합니다. 이전에 표시 중이던 Toast는 자동으로 취소되며, 지정된 시간 후에 자동으로 사라집니다.

Parameters
이름타입설명
durationToastDuration토스트가 표시될 시간입니다. 기본값은 Short(3초)입니다.
content(@Composable () -> Unit)표시할 컴포넌트 콘텐츠입니다.

Advanced

WantedGlobalToastManager

앱 전역에서 Toast를 관리하는 싱글톤 매니저입니다. Activity 생명주기를 추적하여 현재 활성화된 화면에 Toast를 표시하며, 키보드 및 Navigation bar 높이에 맞춰 자동으로 패딩을 조정합니다.

// Application 클래스에서 초기화
WantedGlobalToastManager.initialize(application)

// 토스트 표시
WantedGlobalToastManager.showToast(
    text = "저장되었습니다.",
    variant = WantedToastVariant.Positive
)

initialize

Toast 매니저를 초기화합니다. Application 생명주기에 콜백을 등록하여 Activity 상태를 추적합니다. 반드시 Application 클래스에서 한 번만 호출해야 합니다.

showToast

텍스트와 스타일을 지정하여 Toast를 표시합니다. Variant를 통해 메시지 타입(긍정, 주의, 부정 등)을 지정할 수 있습니다.

Parameters
이름타입설명
textString토스트에 표시할 메시지입니다.
durationToastDuration토스트가 표시될 시간입니다. 기본값은 Short(3초)입니다.
paddingPaddingValues토스트에 적용할 패딩입니다. 기본값은 하단 20dp입니다.
variantWantedToastVariant토스트 스타일입니다. 기본값은 Message입니다.
icon(@Composable () -> Unit)?사용자 정의 아이콘입니다.

SnackbarHostState.showToast

Wanted 스타일의 Toast를 표시하는 확장 함수입니다. WantedToastVisuals를 사용하여 표시하며, Variant를 통해 메시지 타입(긍정, 주의, 부정 등)을 지정할 수 있습니다. 이미 표시 중인 Toast가 있다면 자동으로 닫고 새로운 Toast를 표시합니다.

val snackbarHostState = remember { SnackbarHostState() }
val scope = rememberCoroutineScope()

snackbarHostState.showToast(
    scope = scope,
    message = "저장되었습니다.",
    variant = WantedToastVariant.Positive
)
Parameters
이름타입설명
scopeCoroutineScope코루틴을 실행할 스코프입니다.
messageString토스트에 표시할 메시지입니다.
variantWantedToastVariant토스트 스타일입니다. 기본값은 Message입니다.

Enum

ToastDuration

설명
Short짧은 시간 (3초)입니다.
Long긴 시간 (10초)입니다.

Sealed Class

WantedToastVariant

Toast 메시지의 시각적 스타일을 정의하는 sealed 클래스입니다. 각 타입은 고유의 아이콘 리소스 및 색상 리소스를 포함하고 있으며, 사용자 피드백의 성격(정보, 긍정, 경고, 부정 등)을 나타냅니다. 제공되는 Toast 스타일은 다음과 같습니다:

  • Message: 일반 메시지 (아이콘 없음)입니다.
  • Positive: 긍정적인 메시지 (체크 아이콘, 초록색)입니다.
  • Cautionary: 주의 메시지 (느낌표 아이콘, 주황색)입니다.
  • Negative: 부정적인 메시지 (X 아이콘, 빨간색)입니다.
설명
Message일반 텍스트 메시지를 표시하는 스타일입니다. 아이콘은 표시되지 않습니다.
Positive긍정적인 알림을 위한 스타일입니다. 체크 아이콘과 초록색 색상이 사용됩니다.
Cautionary주의가 필요한 상황을 나타내는 스타일입니다. 삼각형 느낌표 아이콘과 주황색 색상이 사용됩니다.
Negative부정적인 상황을 나타내는 스타일입니다. X 아이콘과 빨간색 색상이 사용됩니다.
WantedToastVisuals커스텀 Toast를 위한 시각적 구성 클래스입니다. 메시지, 아이콘, variant 설정 등을 포함하며 SnackbarVisuals를 확장합니다.
Properties
이름타입설명
resourceIdInt표시할 아이콘 리소스의 ID입니다.
tinColorInt아이콘에 적용될 색상 리소스의 ID입니다.
backgroundResourceIdInt?배경 이미지 리소스의 ID입니다.
backgroundTintColorInt배경 이미지 리소스에 적용될 색상 리소스의 ID입니다.

© 2026 Wanted Lab, Inc.