flutter_dialog_manager

一个Flutter包,可用于更整洁地声明、抽象和使用可自定义的对话框。

安装

在您的 flutter 项目的 pubspec.yaml 文件中,添加以下依赖项

dependencies:
  flutter_dialog_manager: ^1.0.0+2

将包导入到您的项目中

import 'package:flutter_dialog_manager/flutter_dialog_manager.dart';

入门

将您的MaterialApp小部件包装在DialogManager
并传递必需的GlobalKey<NavigatorState> navigatorKey参数。
还将导航器键传递给MaterialApp

@override
  Widget build(BuildContext context) {
    return DialogManager(
      navigatorKey: _navigatorKey,
      child: MaterialApp(
        title: 'Flutter Demo',
        theme: ThemeData(
          primarySwatch: Colors.blue,
        ),
        navigatorKey: _navigatorKey,
        home: const MyHomePage(title: 'Flutter Demo Home Page'),
      ),
    )

用法

使用onGenerateDialogsdialogRoutes声明对话框UI实现及其关联的路由名称

  onGenerateDialogs: (settings) {
        switch (settings.name) {
          case "/counter":
            if (settings.arguments != null) {
              return CounterDialog(
                counter: settings.arguments as int,
              );
            }
            break;
      }}

 dialogRoutes: {
        "/": (context) => DefaultDialog(),
        "/home": (context) => HomeDialog(),
      }

在您的UI中显示对话框

 DialogManager.of(context).showDialog(
      routeName: "/counter",
      arguments: _counter,
    );

贡献

欢迎您为本项目做出贡献。

如果您发现错误或想要一个功能,但不知道如何修复/实现它,请提交一个问题
如果您修复了错误或实现了一个功能,请发送一个拉取请求

GitHub

查看 Github