使用Dart开发Flutter应用的技巧有哪些
小编给大家分享一下使用Dart开发Flutter应用的技巧有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
发布模式判断
判断当前环境是否为发布模式。
constboolkReleaseMode=bool.fromEnvironment('dart.vm.product')
也可以使用 foundation 提供的常量,实现相同:
import'package:flutter/foundation.dart';print('IsReleaseMode:$kReleaseMode');
使用这个可以用于控制日志输出,比如release模式关闭日志:
if(isProduction){debugPrint=(Stringmessage,{intwrapWidth})=>{};}
详情=》https://api.flutter.dev/flutter/foundation/kReleaseMode-constant.html
为Container设置背景图
都知道 Container 支持child设置展示内容,为了展示层叠效果,可以使用Column,其实还可以使用decoration间接实现背景图
Container(width:double.maxFinite,height:double.maxFinite,decoration:BoxDecoration(image:DecorationImage(image:NetworkImage('https://bit.ly/2oqNqj9'),),),child:Center(child:Text('Flutter.dev',style:TextStyle(color:Colors.red),),),),
断言提示
使用asert进行断言,通过第二个参数,提供个性化文案,可以让使用者对断言要求有一个更清楚的说明
assert(age>18,"ageshouldbe>18");
“链式”调用
利用Dart语法,可以简化方法调用
classPerson{Stringname;intage;Person(this.name,this.age);voiddata()=>print("$nameis$ageyearsold.");}voidmain(){//WithoutCascadeNotationPersonperson=Person("Richard",50);person.data();person.age=22;person.data();person.name+="Parker";person.data();//CascadeNotationwithObjectofPersonPerson("Jian",21)..data()..age=22..data()..name+="Yang"..data();}
空值处理
比较常见的一个判断,当一个变量为空时进行赋值操作。
//Userbelowtitle??="Title";//insteadofif(title==null){title="Title";}
以上是“使用Dart开发Flutter应用的技巧有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注恰卡编程网行业资讯频道!