패키지, 저장소 및 앱 카테고리 검색

GitHub 저장소koukibadr/Cherry-Toast

체리 토스트

koukibadr/Cherry-Toast open-source repository details.

체리 토스트 프로젝트 이미지
스타
22
포크
17
최근 푸시(UTC)
2025. 12. 14.
프로젝트 상태
활성

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

Cherry Toast


A new way to display toasts in Flutter in an elegant design and animations

info_cherry_toast.gif error_cherry_toast.gif bottom_cherry_toast.gif
warning_cherry_toast.gif success_cherry_toast.gif right_layout_cherry_toast.gif

Cherry Toast

  • Support all platforms
  • Top and Bottom display position
  • Customizable background color
  • Support RTL layout rendering (for arabic text)
  • Multiple built-in themes
  • Built-in animations
  • Support null safety
  • Elegant design
  • Full customizable
  • Heartbeat animation on icons
  • Customizable icon size and color and display
  • Dismissable notification
  • Customizable toast constraints, height and width

Installation

To add cherry toast to your project add this line to your pubspec.yaml file

dependencies:
  cherry_toast: ^1.13.0

Parameters

/// Text widget displayed as a title in the toast
  /// required parameter for all toast types
  final Text? title;

  /// Text widget displayed as a description in the toast
  final Text? description;

  /// The action button displayed below description
  final Text? action;

  /// The toast icon, it's required when using the default constructor
  late IconData icon;

  /// The Icon color
  /// this parameter is only available on the default constructor
  /// for the built-in themes the color  will be set automatically
  late Color iconColor;

  /// Background color of container
  final Color backgroundColor;

  /// Box shadow color of container
  final Color shadowColor;

  /// Custom widget displayed at the place of the predefined icons
  final Widget? iconWidget;

  /// The icon size
  /// this parameter is available in default constructor
  late double iconSize;

  /// The toast display postion, possible values
  /// ```dart
  /// {
  /// top,
  /// bottom
  /// }
  /// ```
  final Position toastPosition;

  /// The color that will be applied on the circle behind the icon
  /// for better rendering the action button must have the same color
  late Color themeColor;

  /// The function invoked when clicking on the action button
  final Function? actionHandler;

  /// The duration of the animation by default it's 1.5 seconds
  final Duration animationDuration;

  /// The animation curve by default it's set to `Curves.ease`.
  final Cubic animationCurve;

  /// The animation type applied on the toast
  /// ```dart
  /// {
  /// fromTop,
  /// fromLeft,
  /// fromRight
  /// }
  /// ```
  final AnimationType animationType;

  /// Indicates whether the toast will be hidden automatically or not.
  final bool autoDismiss;

  /// The duration of the toast if [autoDismiss] is true
  final Duration toastDuration;

  /// The layout of the toast
  /// ```dart
  /// {
  /// ltr,
  /// rtl
  /// }
  /// ```
  final TextDirection textDirection;

  /// Display / Hide the close button icon
  final bool displayCloseButton;

  /// Define the border radius applied on the toast
  final double borderRadius;

  /// Define whether the icon will be  rendered or not
  final bool displayIcon;

  /// Define wether the animation on the icon will be rendered or not
  final bool enableIconAnimation;

  /// The attribute  is declaring a final variable named "width" of type double with a nullable value.
  /// width attribute define the toast width
  final double? width;

  /// The attribute is declaring a final variable named "height" of type double with a nullable type
  /// modifier.
  /// height attribute define the toast height
  final double? height;

  /// Enable taost constraints customization (by default it's null)
  final BoxConstraints? constraints;

  /// Indicate whether the toast animation is enabled or not
  /// by default the toast animation is enabled
  final bool disableToastAnimation;

  /// Indicate toast should inherit theme colors sheme, to apply in background
  /// and shadow color.
  final bool inheritThemeColors;

  /// Callback invoked when toast get dismissed (closed by button or dismissed automtically)
  final Function()? onToastClosed;

  /// Horizontal alignment display of the toast content
  final CrossAxisAlignment horizontalAlignment;

  /// The space rendered between the title and description widgets.
  final double titleDescriptionMargin;

  /// The space rendered between the description and actions widgets.
  final double descriptionActionMargin;

Usage

  • Simple cherry toast with only title

CherryToast.success(

title:  Text("The simplest cherry toast", style: TextStyle(color: Colors.black))

).show(context);



  • Simple cherry toast with action button

CherryToast.info(

title:  Text("User added", style: TextStyle(color: Colors.black)),

action: Text("Display information", style: TextStyle(color: Colors.black)),

actionHandler: (){

print("Action button pressed");

},

).show(context);




A new way to display toasts in Flutter in an elegant design and animations

  • Toast with description without title

CherryToast.warning(

description:  Text("All information may be deleted after this action", style: TextStyle(color: Colors.black)),

animationType:  AnimationType.fromLeft,

action:  Text("Backup data", style: TextStyle(color: Colors.black)),

actionHandler: (){

print("Hello World!!");

},

).show(context);



  • Toast with nothing but description with different animation type and auto dismiss

CherryToast.error(

description:  Text("Invalid account information", style: TextStyle(color: Colors.black)),

animationType:  AnimationType.fromRight,

animationDuration:  Duration(milliseconds:  1000),

autoDismiss:  true

).show(context);



  • Bottom displayed cherry toast

CherryToast(

icon:  Icons.alarm_add,

themeColor:  Colors.pink,

description:  Text("A bottom cherry toast example", style:  TextStyle(color:  Colors.black)),

toastPosition:  Position.bottom,

animationDuration:  Duration(milliseconds:  1000),

autoDismiss:  true

).show(context);


  • Right layout rendered cherry toast

CherryToast(

icon:  Icons.car_repair,

themeColor:  Colors.green,

description: const Text("هذا مثال تصميم من اليمين",  style:  TextStyle(color:  Colors.black)),

toastPosition:  Position.bottom,

layout:  ToastLayout.rtl,

animationType:  AnimationType.fromRight,

action: const Text("انقر هنا", style:  TextStyle(color:  Colors.green)),


animationDuration: const Duration(milliseconds:  1000),

autoDismiss:  true)

.show(context);



Contribution

Of course the project is open source, and you can contribute to it repository link

  • If you found a bug, open an issue.

  • If you have a feature request, open an issue.

  • If you want to contribute, submit a pull request.

Contributors

Kouki Badr GitHub avatar
GitHub 작성자

Kouki Badr ↗

> Senior Mobile Dev | Flutter OSS contributor | Cyborg coder by day, open-source ghost by night

NventiveTunisia
언어DartHTMLPythonSwiftKotlinObjective-C

이 저장소가 배포한 패키지

사용 중인 의존성

의존성 목록 3 개

  • flutter{"sdk":"flutter"}
  • flutter_test개발 의존성{"sdk":"flutter"}
  • flutter_lints개발 의존성^1.0.4

프로젝트에 맞는 저장소를 선택하려면?

사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.

  1. 이름, 작성자 또는 설명으로 검색하고 기술 주제로 범위를 좁힙니다.
  2. 스타, 포크, 최근 푸시를 함께 비교하세요. 스타는 관심의 지표이며 품질을 보장하지 않습니다.
  3. 사용하기 전에 GitHub에서 README, 라이선스, Issues를 확인하세요.

출처 및 관리

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗