materialapp体系结构
MaterialApp 代表使用纸墨设计(Material Design)风格的应用。里面包含了纸墨设计风格应用所需要的基本控件。
MaterialApp 主要属性如下:
title : 在任务管理窗口中所显示的应用名字
theme : 应用各种 UI 所使用的主题颜
color : 应用的主要颜值(primary color),也就是安卓任务管理窗口中所显示的应用颜
home : 应用默认所显示的界面 Widget
routes : 应用的顶级导航表格,这个是多页面应用用来控制页面跳转的,类似于网页的网址
initialRoute :第一个显示的路由名字,默认值为 Navigator.defaultRouteName
navigator标签onGenerateRoute : 生成路由的回调函数,当导航的命名路由的时候,会使用这个来生成界
面
onLocaleChanged : 当系统修改语言的时候,会触发这个回调
navigatorObservers : 应用 Navigator 的
debugShowMaterialGrid : 是否显示 纸墨设计 基础布局网格,用来调试 UI 的工具
showPerformanceOverlay : 显示性能标签
debugShowCheckedModeBanner :是否显示右上角DEBUG标签 (调试开关)
checkerboardRasterCacheImages :检查缓存的图像开关,检测在界面重绘时频繁闪烁的图像(调试开关)
showSemanticsDebugger :是否打开Widget边框,类似Android开发者模式中显示布局边界(调试开关)
下面将介绍重要的几个属性。
title
这个和启动图标名字是不一样的,和当前 Activity 的名字也是不一样的。 这个 Title 是用来定义任务管理窗口界面所看到应用名字的。在原生 Android 系统中点击圆圈 Home 按钮右边的方块按钮就会打开多任务切换窗口。
theme
定义应用所使用的主题颜,在纸墨设计中定义了 primaryColor、accentColor、hintColor 等颜值。可以通过这个来指定一个 ThemeData 定义应用中每个控件的颜。
home
这个是一个 Widget 对象,用来定义当前应用打开的时候,所显示的界面。
color
定义系统中该应用的主要颜
routes
定义应用中页面跳转规则。 该对象是一个 Map<String, WidgetBuilder>。
当使用 Navigator.pushNamed 来路由的时候,会在 routes 查路由名字,然后使用 对应的 WidgetBuilder 来构造一个带有页面切换动画的 MaterialPageRoute。如果应用只有一个界面,则不用设置这个属性,使用 home 设置这个界面即可。
'/' 和 home 属性
路由表(也就是我们下面代码里面定义的routes变量)里面的 '/' 和 home 属性,二者不能同时存在,但是必须有一个存在。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论