flutter学习笔记

2020-02-18  本文已影响0人  阿狸小朋友
  1. Navigator.push 返回结果Future
/*反向传值为什么这两种都可以*/
void _testPush() async {
    //1 
    String result = await Navigator.push(context, ...);
    //2
    Future  f = await Navigator.push(context, ...);
    f.then(value){}
}

2.注册路由

  /*注册路由为什么需要加(context)*/
  routes:{
   "new_page":(context) => NewRoute(),
    ... // 省略其它路由注册信息
  } ,

3.图片加载

  /* NetworkImage()方法是调用的哪个类的*/
  NetworkImage(
      "https://avatars2.githubusercontent.com/u/20411648?s=460&v=4"
);

4.无法加载2.0x或者3.0x图片

//图片目录
  .../static/images/2.0x/tabbar_icon_0_0.png
  .../static/images/3.0x/tabbar_icon_0_1.png

在没有1.0x图的时候只有2.0x和3.0x图时yaml文件声明必须这样:
  assets:
    - static/images/tabbar_icon_0_0.png
    - static/images/tabbar_icon_0_1.png
如果有1.0x图时候,图片声明可以以路径形式:
  assets:
    - static/images/

5.?.运算符

运算符 解释
result = expr1 ?? expr2 若expr1为null, 返回expr2的值,否则返回expr1的值
expr1 ??= expr2 若expr1为null, 则把expr2的值赋值给expr1
result = expr1?.value 若expr1为null, 就返回null,否则就返回expr1.value的值
上一篇 下一篇

猜你喜欢

热点阅读