[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-9404":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":21,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":15,"starSnapshotCount":15,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},9404,"flutter_smart_dialog","fluttercandies\u002Fflutter_smart_dialog","fluttercandies","An elegant Flutter Dialog solution | 一种更优雅的 Flutter Dialog 解决方案 | https:\u002F\u002Fxdd666t.github.io\u002Fflutter_use\u002Fweb\u002Findex.html#\u002FsmartDialog","https:\u002F\u002Fpub.dev\u002Fpackages\u002Fflutter_smart_dialog\u002Finstall",null,"Dart",1243,150,42,0,3,54.84,"MIT License",false,"master",true,[],"2026-06-12 04:00:44","[![pub](https:\u002F\u002Fimg.shields.io\u002Fpub\u002Fv\u002Fflutter_smart_dialog?label=pub&logo=dart)](https:\u002F\u002Fpub.dev\u002Fpackages\u002Fflutter_smart_dialog\u002Finstall) [![stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Ffluttercandies\u002Fflutter_smart_dialog?logo=github)](https:\u002F\u002Fgithub.com\u002Ffluttercandies\u002Fflutter_smart_dialog)  [![issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Ffluttercandies\u002Fflutter_smart_dialog?logo=github)](https:\u002F\u002Fgithub.com\u002Ffluttercandies\u002Fflutter_smart_dialog\u002Fissues) [![commit](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Ffluttercandies\u002Fflutter_smart_dialog?logo=github)](https:\u002F\u002Fgithub.com\u002Ffluttercandies\u002Fflutter_smart_dialog\u002Fcommits)\n\nFeature and Usage（Must read！）：[super detailed guide](https:\u002F\u002Fxdd666t.github.io\u002Fflutter_use\u002Fweb\u002Findex.html#\u002FsmartDialog)\n\n功能和用法（必看！）： [超详细指南](https:\u002F\u002Fxdd666t.github.io\u002Fflutter_use\u002Fweb\u002Findex.html#\u002FsmartDialog)\n\n***\n\nLanguage:  English | [中文](https:\u002F\u002Fjuejin.cn\u002Fpost\u002F7026150456673959943)\n\nMigrate doc：[3.x migrate 4.0](https:\u002F\u002Fgithub.com\u002Ffluttercandies\u002Fflutter_smart_dialog\u002Fblob\u002Fmaster\u002Fdocs\u002F3.x%20migrate%204.0.md) | [3.x 迁移 4.0](https:\u002F\u002Fjuejin.cn\u002Fpost\u002F7093867453012246565)\n\nFlutter 2：Please use `flutter_smart_dialog: 4.2.5`\n\n# Introduction\n\nAn elegant Flutter Dialog solution.\n\n# Some Effect\n\n![attachLocationAndPoint](https:\u002F\u002Fraw.githubusercontent.com\u002Fxdd666t\u002FMyData\u002Fmaster\u002Fpic\u002Fflutter\u002Fblog\u002F20220103160140.gif)\n\n![attachHighlight](https:\u002F\u002Fraw.githubusercontent.com\u002Fxdd666t\u002FMyData\u002Fmaster\u002Fpic\u002Fflutter\u002Fblog\u002F20220103160210.gif)\n\n![dialogStack](https:\u002F\u002Fraw.githubusercontent.com\u002Fxdd666t\u002FMyData\u002Fmaster\u002Fpic\u002Fflutter\u002Fblog\u002F20211216222718.gif)\n\n![loadingCustom](https:\u002F\u002Fraw.githubusercontent.com\u002Fxdd666t\u002FMyData\u002Fmaster\u002Fpic\u002Fflutter\u002Fblog\u002F202201140931573.gif)\n\n![toastCustom](https:\u002F\u002Fraw.githubusercontent.com\u002Fxdd666t\u002FMyData\u002Fmaster\u002Fpic\u002Fflutter\u002Fblog\u002F20211103092253.gif)\n\n# Advantage\n\n- **Do not need BuildContext**\n- **Can penetrate dark background, click on the page behind dialog**\n- **Support dialog stack，close the specified dialog**\n\n- **Support positioning widget, display the specified location dialog**\n- **Support highlight feature，dissolve the specified location mask**\n\n- **Easily implement toast，loading，attach dialog，custome dialog，custome notify**\n\n# Quick start\n\n## Install\n\n- **latest version：[install pub](https:\u002F\u002Fpub.flutter-io.cn\u002Fpackages\u002Fflutter_smart_dialog\u002Finstall)**\n\n## Initialization\n\n> **initialization**\n\n```dart\nvoid main() => runApp(MyApp());\n\nclass MyApp extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      home: HomePage,\n      \u002F\u002F here\n      navigatorObservers: [FlutterSmartDialog.observer],\n      \u002F\u002F here\n      builder: FlutterSmartDialog.init(),\n    );\n  }\n}\n```\n\n> **Advanced initialization: configure global custom Loading and Toast**\n\nSmartDialog's showLoading and showToast provide a default style. Of course, custom param are definitely supported.\n\n- SmartDialog custom Loading or Toast is very simple: However, when using it, it may make you feel a little troublesome\n- for example\n  - Use custom Loading: `SmartDialog.showLoading(builder: (_) => CustomLoadingWidget);`\n  - The effect we want must be like this:  `SmartDialog.showLoading();`\n- In view of the above considerations, I added the function of setting custom default Loading and Toast styles at the entrance\n\nLet me show you the following\n\n- The entry needs to be configured: implement toastBuilder and loadingBuilder, and pass in custom Toast and Loading\n\n\n````dart\nvoid main() => runApp(MyApp());\n\nclass MyApp extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    return MaterialApp(\n      home: HomePage,\n      \u002F\u002F here\n      navigatorObservers: [FlutterSmartDialog.observer],\n      \u002F\u002F here\n      builder: FlutterSmartDialog.init(\n        \u002F\u002Fcustom default toast widget\n        toastBuilder: (String msg) => CustomToastWidget(msg: msg),\n        \u002F\u002Fcustom default loading widget\n        loadingBuilder: (String msg) => CustomLoadingWidget(msg: msg),\n        \u002F\u002Fcustom default notify widget\n        notifyStyle: FlutterSmartNotifyStyle(\n          successBuilder: (String msg) => CustomSuccessWidget(msg: msg),\n          failureBuilder: (String msg) => CustomFailureWidget(msg: msg),\n          warningBuilder: (String msg) => CustomWarningWidget(msg: msg),\n          alertBuilder: (String msg) => CustomAlertWidget(msg: msg),\n          errorBuilder: (String msg) => CustomErrorWidget(msg: msg),\n        ),\n      ),\n    );\n  }\n}\n````\n\n- SmartDialog supports default global configuration\n\n```dart\nSmartDialog.config\n  ..custom = SmartConfigCustom(\n    maskColor: Colors.black.withOpacity(0.35),\n    useAnimation: true,\n  )\n  ..attach = SmartConfigAttach(\n    animationType: SmartAnimationType.scale,\n    usePenetrate: false,\n  )\n  ..loading = SmartConfigLoading(\n    clickMaskDismiss: false,\n    leastLoadingTime: const Duration(milliseconds: 0),\n  )\n  ..toast = SmartConfigToast(\n    intervalTime: const Duration(milliseconds: 100),\n    displayTime: const Duration(milliseconds: 2000),\n  );\n```\n\n## Easy usage\n\n- **toast usage**💬\n\n```dart\nSmartDialog.showToast('test toast');\n```\n\n![toastDefault](https:\u002F\u002Fraw.githubusercontent.com\u002Fxdd666t\u002FMyData\u002Fmaster\u002Fpic\u002Fflutter\u002Fblog\u002F20211102232805.gif)\n\n- **loading usage**⏳\n\n```dart\nSmartDialog.showLoading();\nawait Future.delayed(Duration(seconds: 2));\nSmartDialog.dismiss(); \n```\n\n![loadingDefault](https:\u002F\u002Fraw.githubusercontent.com\u002Fxdd666t\u002FMyData\u002Fmaster\u002Fpic\u002Fflutter\u002Fblog\u002F20211102232815.gif)\n\n- **dialog usage**🎨\n\n```dart\nSmartDialog.show(builder: (context) {\n  return Container(\n    height: 80,\n    width: 180,\n    decoration: BoxDecoration(\n      color: Colors.black,\n      borderRadius: BorderRadius.circular(10),\n    ),\n    alignment: Alignment.center,\n    child:\n    Text('easy custom dialog', style: TextStyle(color: Colors.white)),\n  );\n});\n```\n\n![dialogEasy](https:\u002F\u002Fraw.githubusercontent.com\u002Fxdd666t\u002FMyData\u002Fmaster\u002Fpic\u002Fflutter\u002Fblog\u002F20211102232821.gif)","flutter_smart_dialog 是一个优雅的 Flutter 对话框解决方案。它支持无需BuildContext即可使用、穿透暗背景点击页面后方、对话框堆栈管理等功能，同时提供定位显示指定位置对话框、高亮特定区域等特性，使得实现自定义通知、加载提示和吐司变得简单快捷。适用于需要丰富交互体验且对UI美观度有较高要求的Flutter应用开发场景中，如移动App或Web应用界面设计。该项目采用Dart语言编写，遵循MIT许可协议，拥有活跃的社区支持与维护。",2,"2026-06-11 03:22:29","top_language"]