1.路由管理
有两种方式,一种是直接调用路由页,相当于显式调用;
//导航到新路由
Navigator.push(context, MaterialPageRoute(builder: (context) {
return NewRoute(text: "我是A页面的值",);
一种是在APP里面先进行注册,
routes: {
"new_page":((context)=> NewRoute())
},
2.包管理
根目录的 pubspec.yaml文件就是来管理第三方依赖包的。
示例如下
name: flutter_in_action //应用或者包名称
description: First Flutter application. //应用的包描述、简介
version: 1.0.0+1 //应用或者包的版本号
dependencies: //应用或包依赖的其他包或者插件
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
dev_dependencies: //开发环境依赖的工具包(而不是flutter应用本身依赖的包)
flutter_test:
sdk: flutter
flutter: //flutter相关的配置选项。
uses-material-design: true
3.加载图片资源
- 要新建文件目录与pubspec.yaml同级,比如my_icons,里面要设置3.0x 2.0x的目录,不设置的话系统会自动根据分辨率拉伸图片,设置3.0x,2.0x就会从相应文件目录中找
pubspec.yaml
my_icons
my_icons/all.png
my_icons/2.0x/all.png
my_icons/3.0x/all.png
- 在pubspec.yaml中配置资源路径,这个一定要看清是在flutter:下面一行 要有两个缩进,如下
只用设置一个就可以
flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true
assets:
- my_icons/all.png
- 在.dart中加载本地图片,以下两种加载方式
省略代码...........
child: Column(
children: <Widget>[
FlatButton(
child: Text("This is new route"),
onPressed: () {
Navigator.push(context, MaterialPageRoute(builder: (context) {
print("结束当前页面!");
}));
},
),
new Image.asset('my_icons/all.png'),
new Image(
image: new AssetImage('my_icons/all.png'),
)
],
)),
省略代码..............
4.Widget
Widget只是UI元素的一个配置元素,并且一个Widget可以对应多个Element