flutter_dropdown_alert

Flutter Dropdown Alert 帮助在成功、警告或错误时通知用户,类似于推送通知。

下拉通知栏将在您成功调用API、出错或其他类似情况时帮助通知用户。它将类似于推送通知,但您可以对其进行更多自定义。您可以在任何地方显示通知,而无需小部件。

演示

顶部

flutter_dropdown_alertz

底部

flutter_dropdown_alert

如何使用。

# pubspec.yaml

dependencies:
  flutter:
    sdk: flutter
  flutter_dropdown_alert: <last-version>

只需创建一个Stack小部件,并在main.dart中的MaterialApp内添加DropdownAlert(),如下所示:

import 'package:flutter_dropdown_alert/dropdown_alert.dart';
 MaterialApp(
       title: 'Dropdown Alert Demo',
       theme: ThemeData(
         visualDensity: VisualDensity.adaptivePlatformDensity,
       ),
       home: Stack(
         children: [
           MyHomePage(title: 'Flutter Dropdown Alert Demo'),
           DropdownAlert()
         ],
       ),
     );

随时随地显示通知,甚至在bloc内无需小部件

接下来,将“alert_controller.dart”导入您的dart代码中

import 'package:flutter_dropdown_alert/alert_controller.dart';
   AlertController.show("Title", "message here!", TypeAlert.success, payload);

payload参数是Map<String, dynamic>,此参数是可选的,应用于将数据传递给通知,并在单击通知时获取它。

隐藏通知

通知将自动隐藏,但如果您使用delayDismiss: 0,它将冻结并且不会自动隐藏,您必须使用此代码隐藏通知

   AlertController.hide();

点击通知时的监听器

有两种方法可以做到这一点

  • 使用控制器的监听器,将此代码放在小部件的initState()
   AlertController.onTabListener((Map<String, dynamic> payload, TypeAlert type) {
         print("$payload - $type");
       });
  • 使用onTap参数
   DropdownAlert(onTap: (Map<String, dynamic> payload, TypeAlert type) {
                print("$payload - $type");
             },)

TypeAlert

类型 描述
TypeAlert.success 操作成功时的类型,通知的背景将为绿色
TypeAlert.warning 操作警告时的类型,通知的背景将为棕色
TypeAlert.error 操作出错时的类型,通知的背景将为红色

参数

参数 描述 默认值
onTap 点击通知时的回调,将提供:Function(Map<String, dynamic>, TypeAlert)
successImage 成功通知的Image.asset(),资产图像的URI 图标小部件
warningImage 警告通知的Image.asset(),资产图像的URI 图标小部件
errorImage 错误通知的Image.asset(),资产图像的URI 图标小部件
errorBackground 错误时的背景颜色 Colors.red
successBackground Colors.green
warningBackground 0xFFCE863D
titleStyle 标题的文本样式
contentStyle 内容的文本样式
title的最大行数
content的最大行数
duration 动画时长 300
delayDismiss 通知自动消失的延迟时间,设置为0表示冻结通知 3000
position 显示通知的位置,包括:AlertPosition.TOP、AlertPosition.BOTTOM AlertPosition.TOP

来自react-native-dropdownalert的灵感

GitHub

https://github.com/vantuan88291/flutter_dropdown_alert