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

Flutter 开发中的一些 Tips

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

InkWell有的叫溅墨效果,有的叫水波纹效果。使用场景是给一些无点击事件的部件添加点击事件时使用(也支持长按、双击等事件),同时你也可以去修改它的颜色和形状。

  1. InkWell( 
  2.   borderRadius: BorderRadius.circular(8.0), // 圆角 
  3.   splashColor: Colors.transparent, // 溅墨色(波纹色) 
  4.   highlightColor: Colors.transparent, // 点击时的背景色(高亮色) 
  5.   onTap: () {},// 点击事件 
  6.   child: Container(), 
  7. ); 

不过有时你会发现并不是包一层InkWell就一定会有溅墨效果。主要原因是溅墨效果是在一个背景效果,并不是覆盖的前景效果。所以InkWell中的child一旦有设置背景图或背景色,那么就会遮住这个溅墨效果。如果你需要这个溅墨效果,有两种方式实现。

(1)包一层 Material,将背景色设置在 Material中的color里。

  1. Material( 
  2.   color: Colors.white, 
  3.   child: InkWell(), 

(2)使用Stack布局,将InkWell放置在上层。这种适用于给图片添加点击效果,比如Banner图的点击。

  1. Stack( 
  2.             children: [ 
  3.               Positioned.fill( 
  4.                 child: Image(), 
  5.               ), 
  6.               Positioned.fill( 
  7.                 child: Material( 
  8.                   color: Colors.transparent, 
  9.                   child: InkWell( 
  10.                     splashColor: Color(0X40FFFFFF), 
  11.                     highlightColor: Colors.transparent, 
  12.                     onTap: () {}, 
  13.                   ), 
  14.                 ), 
  15.               ) 
  16.             ], 
  17.           ) 

8.保持页面状态

(编辑:西安站长网)

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

热点阅读