我们在上一章回中已经介绍过GetMaterialApp组件,并且介绍了它的基本用法,不过这些用法都是基于项目或者页面来使用该组件,本章回中将介绍该组件的属性,通
过属性来控制该组件的功能。
我们在使用GetMaterialApp组件时担心它比官方的MaterialApp组件性能低,分析源代码后发现,它本质上还是MaterialApp,只是把MaterialApp组件的一些
配置做了修改,这样方便开人员使用,因此不用担心性能等其它问题,而且这个在官方文档中也有相关的介绍。下面是从源代码中获取的部分代码,请大家参考:
///它包含了一些常用的key
this.navigatorKey,
this.scaffoldMessengerKey,
///对路由的配置
this.home,
Map<String, Widget Function(BuildContext)> this.routes =
const <String, WidgetBuilder>{},
this.initialRoute,
this.onGenerateRoute,
///主题,国际化相关配置和MaterialApp一致
theme,
this.darkTheme,
this.locale,
和其它的组件类似GetMaterialApp组件提供相关的属性来控制自己,下面是一些常用的属性:
GetMaterialApp(
// home: GetHomePage(),
///配置好路由后可以使用命名路由,配置方法和Material方法相同
initialRoute: '/',
getPages: [
GetPage(name: '/', page: () => const GetHomePage(),),
GetPage(name: '/overlay', page: () => const ExOverlayEntry(),),
GetPage(name: '/html', page: () => const ExHtmlView(),),
],
theme: ThemeData(
///建议打开Material主题,否则页面风格太难看
useMaterial3: true,
),
);
上面的示例代码中演示了GetMaterialApp组件中常用属性的用法。代码中使用了三个页面,这些页面是我们项目中的页面,我们没有提供页面的实现代码,因为我们是
为了演示路由功能,大家把这三个页面换成自己创建的页面就可以。我在这里就不演示程序的运行结果了,建议大家自己动手去实践。
最后,我们对本章回中的内容做一个全面的总结: