Flutter消息展示插件ai_awesome_message的使用

发布于 1周前 作者 yuanlaile 来自 Flutter

Flutter消息展示插件 ai_awesome_message 的使用

概述

ai_awesome_message 是一个功能强大的消息展示插件,类似于 Flutter 中的 Toast 或 Snackbar。它支持在 iOS、Android、macOS 和 Web 平台上显示自定义的消息提示。

安装步骤

1. 添加依赖

在项目的 pubspec.yaml 文件中添加 ai_awesome_message 依赖:

dependencies:
  ai_awesome_message: ^version

或者通过 Git 方式添加:

dependencies:
  ai_awesome_message:
    git:
      url: https://github.com/pdliuw/ai_awesome_message.git

2. 安装库

执行以下命令来安装依赖:

$ flutter pub get

3. 导入库

在 Dart 文件中导入 ai_awesome_message

import 'package:ai_awesome_message/ai_awesome_message.dart';

使用方法

1. 作为 Widget 使用

你可以直接将 AwesomeHelper.createAwesome 作为一个 Widget 来使用:

Container(
  child: AwesomeHelper.createAwesome(title: "标题", message: "消息内容"),
),

2. 作为 Route 使用

你也可以通过 Navigator.push 方法将消息作为一个独立的页面弹出:

Navigator.push(
  context,
  AwesomeMessageRoute(
    awesomeMessage: AwesomeHelper.createAwesome(
      title: "标题", 
      message: "消息内容",
    ),
    theme: null, // 可选参数,可以传递当前主题
    settings: RouteSettings(name: "/messageRouteName"),
  ),
);

3. 作为 Route 使用并带有 Theme

如果你想让消息页面继承当前的主题样式,可以通过 Theme.of(context) 获取当前主题并传递给 AwesomeMessageRoute

Navigator.push(
  context,
  AwesomeMessageRoute(
    awesomeMessage: AwesomeHelper.createAwesome(
      title: "标题", 
      message: "消息内容",
    ),
    theme: Theme.of(context), // 继承当前主题
    settings: RouteSettings(name: "/messageRouteName"),
  ),
);

4. 结合 Airoute 使用

为了更方便地管理路由,推荐结合 Airoute 插件一起使用:

Airoute.push(
  route: AwesomeMessageRoute(
    awesomeMessage: AwesomeHelper.createAwesome(
      title: "标题", 
      message: "消息内容",
    ),
    theme: null,
    settings: RouteSettings(name: "/messageRouteName"),
  ),
);

// 或者使用当前主题
Airoute.push(
  route: AwesomeMessageRoute(
    awesomeMessage: AwesomeHelper.createAwesome(
      title: "标题", 
      message: "消息内容",
    ),
    theme: Theme.of(context),
    settings: RouteSettings(name: "/messageRouteName"),
  ),
);

示例 Demo

下面是一个完整的示例,展示了如何在 Flutter 应用中集成 ai_awesome_message 插件,并结合 Airoute 实现消息提示。

main.dart

import 'package:airoute/airoute.dart';
import 'package:flutter/material.dart';
import 'package:ai_awesome_message/ai_awesome_message.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Airoute.createMaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  void _showMessage() {
    Airoute.push(
      route: AwesomeMessageRoute(
        awesomeMessage: AwesomeHelper.createAwesome(
          title: "成功",
          message: "操作成功!",
        ),
        theme: Theme.of(context),
        settings: RouteSettings(name: "/messageRouteName"),
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            ElevatedButton.icon(
              onPressed: _showMessage,
              icon: Icon(Icons.notifications),
              label: Text("显示消息"),
            ),
          ],
        ),
      ),
    );
  }
}

运行效果

  • 点击按钮后会弹出一个消息提示框,类似于 Toast 或 Snackbar。
  • 消息框会根据当前主题自动调整样式,确保与应用的整体风格一致。

总结

ai_awesome_message 是一个非常灵活且易于使用的 Flutter 插件,适用于多种平台的消息提示需求。结合 Airoute 插件,可以进一步简化路由管理和消息提示的实现。


更多关于Flutter消息展示插件ai_awesome_message的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter消息展示插件ai_awesome_message的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


当然,以下是如何在Flutter项目中使用ai_awesome_message插件来展示消息的示例代码。ai_awesome_message是一个用于在Flutter应用中展示各种消息提示的插件,支持多种样式和位置。

1. 添加依赖

首先,你需要在pubspec.yaml文件中添加ai_awesome_message的依赖:

dependencies:
  flutter:
    sdk: flutter
  ai_awesome_message: ^x.y.z  # 请替换为最新版本号

然后运行flutter pub get来获取依赖。

2. 初始化插件

在你的应用的主文件(通常是main.dart)中,你需要初始化AiAwesomeMessages

import 'package:flutter/material.dart';
import 'package:ai_awesome_message/ai_awesome_message.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Ai Awesome Message Demo'),
        ),
        body: AiAwesomeMessages(
          child: HomeScreen(),
        ),
      ),
    );
  }
}

3. 使用消息展示功能

在你的主屏幕(例如HomeScreen)中,你可以使用AiAwesomeMessagesController来展示消息。以下是一个完整的示例:

import 'package:flutter/material.dart';
import 'package:ai_awesome_message/ai_awesome_message.dart';

class HomeScreen extends StatefulWidget {
  @override
  _HomeScreenState createState() => _HomeScreenState();
}

class _HomeScreenState extends State<HomeScreen> {
  final AiAwesomeMessagesController _controller = AiAwesomeMessagesController();

  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: const EdgeInsets.all(16.0),
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          ElevatedButton(
            onPressed: () {
              _showSuccessMessage();
            },
            child: Text('Show Success Message'),
          ),
          ElevatedButton(
            onPressed: () {
              _showErrorMessage();
            },
            child: Text('Show Error Message'),
          ),
          ElevatedButton(
            onPressed: () {
              _showInfoMessage();
            },
            child: Text('Show Info Message'),
          ),
          ElevatedButton(
            onPressed: () {
              _showWarningMessage();
            },
            child: Text('Show Warning Message'),
          ),
        ],
      ),
    );
  }

  void _showSuccessMessage() {
    _controller.showMessage(
      content: 'This is a success message!',
      type: MessageType.success,
      position: MessagePosition.top,
      duration: Duration(seconds: 3),
    );
  }

  void _showErrorMessage() {
    _controller.showMessage(
      content: 'This is an error message!',
      type: MessageType.error,
      position: MessagePosition.bottom,
      duration: Duration(seconds: 3),
    );
  }

  void _showInfoMessage() {
    _controller.showMessage(
      content: 'This is an info message!',
      type: MessageType.info,
      position: MessagePosition.middle,
      duration: Duration(seconds: 3),
    );
  }

  void _showWarningMessage() {
    _controller.showMessage(
      content: 'This is a warning message!',
      type: MessageType.warning,
      position: MessagePosition.top,
      animationType: MessageAnimationType.slideFromBottom,
      duration: Duration(seconds: 3),
    );
  }

  @override
  void dispose() {
    _controller.dispose();
    super.dispose();
  }
}

4. 运行应用

现在你可以运行你的Flutter应用,点击按钮将展示不同类型的消息提示。

这个示例展示了如何使用ai_awesome_message插件来展示成功、错误、信息和警告消息。你可以根据需要调整消息的内容、类型、位置和动画效果。

回到顶部