搜索插件、代码仓与 APP 分类

emoji_alert 封面
插件详情v1.1.0

emoji_alert

Flutter Emoji Alert,让您能够创建美观且简单的警报对话框和底部表单模态框

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
150
喜欢数
23
Pub 分数
150

安装插件

flutter pub add emoji_alert

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Emoji Alert 是一个 Flutter 包,可帮助开发者创建视觉上吸引人且简单的警报对话框和底部弹出模态,支持表情符号。它通过在标准 UI 组件中添加富有表现力、色彩丰富的元素来提升用户体验。适用于希望提供友好、互动反馈的应用程序,可在 Android、iOS、Web、macOS、Windows 和 Linux 等所有主要平台上运行。该包轻量且易于集成,只需一条命令即可通过 pub 添加。其设计注重简洁与美观,同时不牺牲功能性。

适合场景

  • 显示用户通知
  • 显示应用状态更新
  • 提升入职体验
  • 在操作后提供反馈
  • 创建有趣的错误消息

主要特点

  • 内置表情符号支持
  • 可自定义的警告样式
  • 跨平台兼容性
  • 与 Flutter 的简单集成
  • 对底部弹出窗口模态的支持
  • 轻量且快速

适合对象

  • 移动和Web应用
  • 面向年轻受众的应用
  • 引导流程
  • 基于反馈的界面
  • 简单的通知系统

使用建议

  • 仅限基本的警告和底部弹出菜单类型
  • 可能需要自定义样式以满足高级用例
  • 依赖外部 GitHub 仓库以获取更新
  • 不适合复杂的对话工作流

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Flutter Emoji Alert

enter image description here

A new Stylish Emoji Alert with a wide variety of emojis, simple to implement and full customizable.

Features

  • Single line basic alert with default emoji

  • Add dynamic widgets not only text any widget you want

  • Add buttons with their onPress handlers

  • Choose the alert display behavior : Normal Alert or Bottom Sheet dialog

  • Choose an emoji from a variety of emojis

  • Animations when displaying the alert popup


Getting Started

To add emoji_alert to your project add this line to your pubspec.yaml


dependencies:
	emoji_alert:  1.1.0

Or you can reference the github repository directly

	dependencies:
		emoji_alert:
			git: https://github.com/koukibadr/Emoji_Alert.git

Parameters

Attribute Type Default Required Description
description Widget N/A True The alert body content
alertTitle Widget N/A False The alert top content
enableMainButton bool False False Display or not the popup's main button
enableSecondaryButton bool False False Whether display or not the secondary button
onSecondaryButtonPressed Function null False The function that will be invoked on pressing the secondary button
onMainButtonPressed Function null False The function that will be invoked on pressing the main button
onMainButtonPressed Function null False The function that will be invoked on pressing the main button
emojiType EMOJI_TYPE HAPPY False the emoji that will be displayed possible values: [ANGRY, CONFUSED, COOL, HAPPY, JOYFUL, LAUGHING, SAD, SCARED, SHOCKED, SMILE, WINK]
height double 200 False the height of the popup
emojiSize double 80 False the size of the emoji
background Color White False the popup background color
mainButtonColor Color Blue False The main button background color
secondaryButtonColor Color Blue False the secondary button color, PS: an opacity value will be added to this color
mainButtonText Text Text("Confirm") False the main button text
secondaryButtonText Text Text("Cancel") False the secondary button text
buttonSize double 200 False buttons width size
cancelButtonColorOpacity double 0.2 False an opacity will be added to the secondary button background color
cancelable bool True False Whether the popup can be dismissed on pressing outside it or not
cornerRadiusType CORNER_RADIUS_TYPES BOTTOM_ONLY False the border radius type, possible values: [BOTTOM_ONLY, TOP_ONLY, ALL_CORNERS, NONE]
width double null False the popup width by default it's null
animationType ANIMATION_TYPE ANIMATION_TYPE.NONE False the animation type that will be applied on the emoji [NONE, FADEIN, TRANSITION, ROTATION]

Examples

Simple alert with just a text in the body content


EmojiAlert(

description:  Column(

children: [

Text("Simple Example of the popup"),

Text("with minumum attributes"),

],

)).displayAlert(context);

first_example_alert.png

Example with custom widget in the popup content body


EmojiAlert(
	alertTitle:  Text("Joyful Alert", style:  TextStyle(fontWeight:  FontWeight.bold)),
	description:  Column(
		children: [
		Text("You can add also any widget"),
		Container(
			width:  200,
			child:  TextField(
				decoration:  InputDecoration(hintText:  "Input field example"),
			)),
	]
	),
	cancelable:  true,
	emojiType:  EMOJI_TYPE.JOYFUL,
	height:  300,
).displayAlert(context);

second_example_alert.png


EmojiAlert(
	alertTitle:  Text("Angry Alert", style:  TextStyle(fontWeight:  FontWeight.bold)),
	description:  Column(
		children: [
			Text("You can add a main button"),
		],
	),
	enableMainButton:  true,
	mainButtonColor:  Colors.red,
	onMainButtonPressed: () {
		print("Hello");
		Navigator.pop(context);
	},
	cancelable:  false,
	emojiType:  EMOJI_TYPE.ANGRY,
	height:  300,
).displayAlert(context);

third_example_alert.png

Bottom Sheet Modal

to display it as bottom sheet modal you need to use displayBottomSheet function

And you can display it as a bottom sheet modal, the code below is an example


EmojiAlert(
	alertTitle:  Text("Bottom Sheet Modal",
	style:  TextStyle(fontWeight:  FontWeight.bold)),
	description:  Column(
		children: [
			Text("And this is a bottom sheet modal with different Radius",
				style:  TextStyle(color:  Colors.blue),
				textAlign:  TextAlign.center,
			),
		],
	),
	enableMainButton:  true,
	cornerRadiusType:  CORNER_RADIUS_TYPES.TOP_ONLY,
	mainButtonColor:  Colors.green,
	mainButtonText:  Text("Save"),
	onMainButtonPressed: () {
		Navigator.pop(context);
	},
	cancelable:  true,
	emojiType:  EMOJI_TYPE.SMILE,
	width:  300,
	height:  300,
).displayBottomSheet(context);

fifth_example_alert.png

With Animation

in this example we used TRANSITION animation but you can choose any other built-in animations (see attributes description above)

EmojiAlert(
	description:  Column(
		children: [
			Text("Simple Example with animation"),
			Text("This is a transition animation"),
		],
	),
	animationType:  ANIMATION_TYPE.TRANSITION
).displayAlert(context);

the result:

animation_example.gif

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.

所属分类

源码仓库

使用此插件的项目

暂无相关数据。