Flutter - MaterialApp 参数解读

MaterialApp 参数对照表

字段 类型
navigatorKey(导航主键) GlobalKey
home(起始页) Widget
routes(路由列表) Map
initialRoute(初始路由名称) String
onGenerateRoute(生成路由) RouteFactory
onUnknownRoute(未知路由) RouteFactory
navigatorObservers(导航观察器) List
builder(构造器) TransitionBuilder
title(应用标题) String
onGenerateTitle(生成应用标题) GenerateAppTitle
color(颜色) Color
theme(主题配置) ThemeData
locale(地点) Locale
localizationsDelegates(本地化委托代理) Iterable>
localeResolutionCallback(区域分辨回调) LocaleResolutionCallback
supportedLocales(应用支持区域) Iterable
debugShowMaterialGrid(调试模式是否显示 Material 网格) bool
showPerformanceOverlay(显示性能监控叠层) bool
checkerboardRasterCacheImages(棋盘格光栅缓存图像) bool
checkerboardOffscreenLayers(棋盘格层) bool
showSemanticsDebugger(显示语义调试器) bool
debugShowCheckedModeBanner(调试模式是否显示 DEBUG 横幅) bool

navigatorKey

navigatorKey 定义的是当前 APP 实例的 GlobalKeyGlobalKey 能够
跨 Widget 访问状态。

home

定义 APP 的起始页面,通常为一个页面实例。如:

// 指定起始页为闪屏页面
home: new SplashPage(),

routes

注意:routes 中定义的路由无法传递参数!!!如果希望路由之间传递参数,需要使常规的路由切换方法。

routes 通常是一个 Map 类型的列表,如:

routes: {
    "/HomePage": (context) => HomePage(),
    "/AboutPage": (context) => AboutPage(),
},

上面的 (context) => HomePage()` 是简写语法,完整语法是:

"/HomePage": (WidgetBuilder  context) {
  return new HomePage();
},

定义好的路由,可以使用 Navigator 访问,如:

Navigator.pushNamed(context, "/AboutPage");
// 或者
Navigator.of(context).pushNamed("/AboutPage");

initialRoute

初始路由名称,通常是 routes 中定义的一个项,会覆盖 home 的定义。 如:

routes: {
    "/HomePage": (context) => HomePage(),
    "/AboutPage": (context) => AboutPage(),
},
initialRoute: "/HomePage"

debugShowMaterialGrid

调试模式是否显示 Material 网格

Flutter - MaterialApp 参数解读_第1张图片
debugShowMaterialGrid = true

showPerformanceOverlay

显示性能监控叠层

Flutter - MaterialApp 参数解读_第2张图片
showPerformanceOverlay = true

showSemanticsDebugger

显示语义调试器,会把组件外观显示为外框模式;

Flutter - MaterialApp 参数解读_第3张图片
showSemanticsDebugger = true

checkerboardRasterCacheImages 和 checkerboardOffscreenLayers

两个属性效果差不多,开后,某些组件会被棋盘格层叠高亮。

Flutter - MaterialApp 参数解读_第4张图片
checkerboardRasterCacheImages

debugShowCheckedModeBanner

调试模式是否显示 DEBUG 横幅

Flutter - MaterialApp 参数解读_第5张图片
Flutter - MaterialApp 参数解读_第6张图片
true false

你可能感兴趣的:(Flutter - MaterialApp 参数解读)