用途:帮助在 Flutter 项目中安装并配置 shadcn_ui,包含纯 Shadcn、与 Material 或 Cupertino 混用,以及使用随包再导出的依赖。
安装:在项目根目录执行 flutter pub add shadcn_ui,或在 pubspec.yaml 中声明依赖(资料示例:shadcn_ui: ^0.2.4,并注明使用最新版本)。
主要能力与用法:
- 纯 Shadcn:只使用 Shadcn 组件时,用 ShadApp 作为根,导入 package:shadcn_ui/shadcn_ui.dart;声明式路由使用 ShadApp.router。
- Shadcn + Material:用 ShadApp.custom 配合 appBuilder 包裹 MaterialApp,并在 builder 中用 ShadAppBuilder 包裹子节点;使用 Router API 时用 MaterialApp.router。ShadApp 会依据 ShadThemeData 生成默认 Material ThemeData(字体、扩展、colorScheme 映射、dividerTheme、textSelectionTheme、iconTheme、scrollbarTheme),可用 Theme.of(context).copyWith(...) 覆盖而不丢失 shadcn 默认值。
- Shadcn + Cupertino:在 appBuilder 中返回 CupertinoApp,设置 localizationsDelegates(DefaultMaterialLocalizations、DefaultCupertinoLocalizations、DefaultWidgetsLocalizations),并在 builder 中用 ShadAppBuilder;Router 导航用 CupertinoApp.router,Cupertino 主题用 CupertinoTheme.of(context).copyWith(...) 覆盖。
再导出的包(无需额外导入):flutter_animate(组件接受 List<Effect>)、lucide_icons_flutter(LucideIcons,图标可在 https://lucide.dev/icons/ 浏览)、two_dimensional_scrollables(ShadTable 使用)、intl(国际化与消息翻译)、universal_image(多图片格式,ShadAvatar 使用)。
其他:可将应用提交至展示库,方法是打开 GitHub 模板并填写表单。
限制:资料未提供版本兼容范围、平台支持、性能或收费信息,暂未提供。