加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

Flutter 开发中的一些 Tips

发布时间:2019-06-21 21:46:36 所属栏目:业界 来源:唯鹿lv-2
导读:学习Flutter也有一阵子了。闲着没事,用了公司一个已经凉凉的App设计图来练手。当然了接口不可能用的了,所以都是些死数据,实现效果可以说是很完美了(得到了设计的认可。。。)。当然自己也是边查边写,也借鉴了许多Github上优秀的Flutter项目。现在开源出

Material( // 需要颜色填充到边界区域可以使用

  1. Material( // 需要颜色填充到边界区域可以使用 
  2.   color: Colors.white, 
  3.   child: SafeArea( 
  4.     child: Container(), 
  5.   ), 

还是上面的页面,我们对比一下处理前后的效果:

Flutter 开发中的一些 Tips

Flutter 开发中的一些 Tips

4.善用Theme

Flutter 在开发中,让人诟病的就是大量的嵌套,而我们只能尽量避免。比如将一些部件、属性进行封装,避免重复的书写。不过封装也讲究使用场景。如果这种样式的部件仅仅只是某一两处使用,封装显得有点小题大做。并且封装的大而全也会增加使用的复杂度。那么这时就可以使用Theme这种办法。

举一个例子,在下图中圈起来的部分有三个按钮,它们的高度相同,文字、圆角大小也相同。如果每一个都去设定这些属性,未免太过麻烦。

Flutter 开发中的一些 Tips

这时我们使用Theme去统一修改它们的样式,就会很方便了。

  1. Theme(  
  2.               data: Theme.of(context).copyWith( 
  3.                 buttonTheme: ButtonThemeData( 
  4.                   padding: const EdgeInsets.symmetric(horizontal: 16.0), 
  5.                   minWidth: 64.0, 
  6.                   height: 30.0, 
  7.                   materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, 
  8.                   shape:RoundedRectangleBorder( 
  9.                     borderRadius: BorderRadius.circular(4.0), 
  10.                   ) 
  11.                 ), 
  12.                 textTheme: TextTheme( 
  13.                   button: TextStyle( 
  14.                     fontSize: 14.0, 
  15.                   ) 
  16.                 ) 
  17.               ), 
  18.               child: Row( 
  19.                 children: [ 
  20.                   FlatButton( 
  21.                     color: Color(0xFFF6F6F6), 
  22.                     onPressed: (){}, 
  23.                     child: Text("联系客户"), 
  24.                   ), 
  25.                   ...... 
  26.                   FlatButton( 
  27.                     color: Color(0xFFF6F6F6), 
  28.                     onPressed: (){}, 
  29.                     child: Text("拒单"), 
  30.                   ) 
  31.                 ], 
  32.               ), 
  33.             ) 

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读