flutter 之踩坑的日子(3)
上回提到了有状态组件,但是并没有详细地展开。所以这次先将剩余的这点小尾巴收一收,然后再开始我们的项目之旅。
有状态组件由组件类和状态类组成,在组件类中需要重载_createState方法来实例化一个状态类对象。
这句话有点绕口,结合项目来看会好一些。
在示例项目中,我们的项目首先创建了一个无状态组件MyApp,然后在这个组件的build方法中,返回了一个 MaterialApp 对象。
这个对象中存在一个名为home的属性,通过它本身的注释可以得知,这个属性就是app的默认页面。
而这个页面,用代码来说,就是我们的
标题栏的样式,美化的事情现在不做。
这是flutter的hotReload机制,我们对代码的调整,无需重新生成和部署,就可以体现在模拟器中。这个机制用多了,就再也不想每次都重新编译下载啦。
主体body首先返回的是一个Center组件,这是一个处理定位的组件,在它之下的子组件,以居中的形式排列。它的子组件是Column,这个组件可以包含多个子组件,以自上而下的形式排列。
这些子组件需要被构造在Column组件的children中,children是一个存放组件的list。
欢迎页面的组件层级关系图。
最终欢迎页面显示内容如下:
和草图相比,这个界面无疑更加高大上。
那么,今天就先到这里,下次我们再来整理这个页面的代码,看看这个页面具体都做了些什么。
版权声明: 本文为 InfoQ 作者【霜蓝手环】的原创文章。
原文链接:【http://xie.infoq.cn/article/eafee5323aa2c7b3adf7c9bf2】。文章转载请联系作者。
评论