elegant_notification 1.2.0
elegant_notification: ^1.2.0 copied to clipboard
A new flutter package to display notifications on top of the screen, full customizable with built-in themes
Elegant Notification #
An elegant notification to display important messages to users
![]() |
![]() |
---|---|
![]() |
![]() |
Features #
- Display a top notification with animation
- Built-in themes (Success, Error, Info)
- Different display animations
- Support custom theme implementation
- onClose and onProgressFinished callback handlers
- animated progress bar indicator
- background costumization
- Animation duration customization
Getting Started #
To use this elegant notification package you need to add the dependency in pubspec.yaml
file.
dependencies:
elegant_notification: ^1.2.0
Parameters #
///The toast title String if any
final String? title;
///The title text style
///by default it's `TextStyle(fontWeight: FontWeight.bold, fontSize: 14)`
final TextStyle titleStyle;
///The toast description text (required)
final String description;
///The description text style
///by default it's `TextStyle(fontSize: 12)`
final TextStyle descriptionStyle;
///The toast icon, required only if using the default constructor
///for other toast types (Success, Info, error) the icon is not changeable
late Widget? icon;
///The size of the icon, by default it's 40px
late double iconSize;
///The type of the animation set on the notification
///possible values
///```dart
///{
///fromLeft,
///fromRight,
///fromTop
///}
///```
///default value `fromLeft`
///
final ANIMATION animation;
///The duration of the animation
///Default value `Duration(milliseconds: 100)`
final Duration animationDuration;
///The shadow color applied on the notification widget
/// by defualt it's `Colors.grey`
/// for types constructors (Success, Info, Delete) this parameter is unchangeable
late Color shadowColor = Colors.grey;
/// the background color of the notification
/// by default it's set to white
/// for types constructors (Success, Info, Delete) this parameter is unchangeable
late Color background;
///The color of the progress
///by default it's blue
/// for types constructors (Success, Info, Delete) this parameter is unchangeable
late Color progressIndicatorColor;
///the border radius of the notification widget
///this parameter it's only set if you are using the default constructor
/// for types constructors (Success, Info, Delete) this parameter is unchangeable
late double radius;
///The duration how much the notification will take time, duration in milliseconds
///by default the duration is `2500 milliseconds`
final int toastDuration;
///enable or disable the shadow rendering
///by default it's true
/// for types constructors (Success, Info, Delete) this parameter is unchangeable
late bool enableShadow = true;
///enable or disable the progress indicator rendering
///by default the indicator is displayed
/// for types constructors (Success, Info, Delete) this parameter is unchangeable
late bool showProgressIndicator;
///Display or hide the close button
///by default the close button is displayed
/// for types constructors (Success, Info, Delete) this parameter is unchangeable
final bool displayCloseButton;
///Function invoked when user press on the close button
final Function? onCloseButtonPressed;
///Function invoked when the notification is closed after the finish of the progress indicator
final Function? onProgressFinished;
Migration to 1.1.0 #
If you are using 1.0.0 you need to update animation
attribute values following the camelCase conventions
(eg: FROM_TOP -> fromTop)
Examples #
- Success theme animation example
ElegantNotification.success(
title: "Update",
description: "Your data has been updated"
).show(context);
- Info theme animation example
ElegantNotification.info(
title: "Info",
description: "This account will be updated once you exit"
).show(context);
- Error theme animation example
ElegantNotification.error(
title: "Error",
description: "Please verifiy your data"
).show(context);
- Custom theme animation example
ElegantNotification(
title: "New version",
description: "A new version is available to you please update.",
icon: Icon(Icons.access_alarm,
color: Colors.orange,
),
progressIndicatorColor: Colors.orange,
).show(context);
- Without title
ElegantNotification.error(
description: "Please verifiy your data"
).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.