Hi, 我是鱼板伯爵今天要在我们的专案里面加入场景的路由,这样可以方便管理我们每个场景,教学内容只会撷取片段程序码,建议大家搭配完整程序码来练习。
创建一个路径并设置为初始路径,完成後就可以执行生成档案的指令,你将会得到router.gr.dart档案,并且终端机会显示成功。
$ flutter pub run build_runner watch --delete-conflicting-outputs
import 'package:auto_route/auto_route.dart';
import 'package:stunning_tribble/presentation/screens/home/home_screen.dart';
@MaterialAutoRouter(
replaceInRouteName: 'Page,Route',
routes: <AutoRoute>[
AutoRoute(
page: HomeScreen,
initial: true,
),
],
)
class $AppRouter {}
接着宣告一个AppRouter()传入APP内使用,如果改完後APP报错,重新启动後就可以使用了。
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await ConfigReader.initializeApp(Environment.dev);
final AppRouter appRouter = AppRouter();
runApp(
MultiBlocProvider(
providers: [
BlocProvider(
create: (context) => ThemeBloc(),
),
],
child: MyApp(
appRouter: appRouter,
),
),
);
}
class MyApp extends StatelessWidget {
final AppRouter _appRouter;
const MyApp({
Key? key,
required AppRouter appRouter,
}) : _appRouter = appRouter,
super(key: key);
@override
Widget build(BuildContext context) {
return BlocBuilder<ThemeBloc, ThemeState>(
builder: (context, state) {
return MaterialApp.router(
debugShowCheckedModeBanner: ConfigReader.config().DEBUG,
title: 'Flutter Demo',
theme: state.themeData,
darkTheme: ThemeData(),
routerDelegate: _appRouter.delegate(),
routeInformationParser: _appRouter.defaultRouteParser(),
builder: (context, router) => router!,
);
},
);
}
}
<<: Day 6. Compare × G2 × Quill
昨天我们已经完成了 Sign in with Facebook 的前置作业了,今天我们要来将功能实作...
甚麽是「Callback function」? MDN的解释如下: 「回呼函式(callback ...
一般的ViewPager在做滑动的过程中总是会觉得少了点流畅感,今天会使用PageTransform...
如何布署GuardDuty? 1.找到Amazon GuardDuty 2.点Enable Guar...
在 Day 9 我们使用 Order API 建立了一笔测试订单。 在送出请求的 JSON 字串是这...