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'),
),
)
用法
使用onGenerateDialogs或dialogRoutes声明对话框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,
);
贡献
欢迎您为本项目做出贡献。
如果您发现错误或想要一个功能,但不知道如何修复/实现它,请提交一个问题。
如果您修复了错误或实现了一个功能,请发送一个拉取请求。