,用于一些回退操作等 this.duration = _kSnackBarDisplayDuration, // 停留的时长,默认 4000ms this.animation, // 进出动画...,两种方式只有在展示类型上的差别,方法调用无差,而且 showBottomSheet 和 fab 有组合动画,showModalBottomSheet 则没有,看下实际的例子吧。...child: ListView( children: List.generate( 2, (index) => InkWell..._showAlertDialog() { showDialog( // 设置点击 dialog 外部不取消 dialog,默认能够取消 barrierDismissible...) => InkWell( child: Container(height: 40.0, child: Text(gender), alignment:
actions: [ FlatButton( child: Text( '取消...(context, "取消"); //进行关闭,并且将数据传递给result,以下所有做法均一致。..._toast(); }, ), ], ), ), ); } } 其中我们用到的第三方...这里就不进行详解了 自定义Dialog 自定义Dialog的步骤: 自定义类继承Dialog类 重写build方法,并且最外层return Material() 在调用时,与其他Dialog一直,通过...Expanded(flex: 1,child: Text('1111',textAlign: TextAlign.center,),), InkWell
Column( mainAxisAlignment: MainAxisAlignment.center, children: [ InkWell..._showDatePicker(); }, ), SizedBox(height: 10), InkWell...showTitle: true, confirm: Text('确定', style: TextStyle(color: Colors.red)), cancel: Text('取消...mainAxisAlignment: MainAxisAlignment.center, children: [ InkWell...onPressed: () { print("取消"); Navigator.pop(context, 'Cancle');
该第三方库的安装以及引用我就不赘述了,大家在pub.dev上直接搜fluttertoast,然后按照文档来即可。...(上、中、下) timeInSecForIos: 3,//提示框的显示时间(仅对iOS有效) backgroundColor: Colors.pink,//提示框的背景颜色 textColor...Align( alignment: Alignment.centerRight, child: InkWell...Navigator.pop(context);//让Dialog消失 t.cancel();//取消定时器 }); } @override Widget...Align( alignment: Alignment.centerRight, child: InkWell
alignment: Alignment.centerRight, child: InkWell...// 引入上面定义的模态框组件,注意路径 import '...../components/Dialog.dart'; // 在类中调用自定义模态框 // context为类中的上下文 showDialog( context:context, builder...timer = Timer.periodic( // 持续时间 Duration(milliseconds: 2000),(event){ Navigator.pop...alignment: Alignment.centerRight, child: InkWell
从下至上展开抽屉动画 <!...; } 抽屉标题
builder: (BuildContext context) { return BillNameDialog(onCancelEvent: () { Navigator.pop...(context); }, onSureEvent: (name) { Navigator.pop(context); }); }); }...'取消' : '确认', style: TextStyle(color: Colors.white, fontSize: 15.0)))), onTap: () { if (type =...AppBar 返回按钮 和尚在重写 AppBar 时,如何取消默认的返回按钮? ? A4....---- 自定义 Dialog 案例源码 ---- 和尚对于 Flutter 的应用还不够熟悉,很多常用的场景会处理的很不到位,和尚会对日常的小问题进行简单记录,逐步学习;如有错误,请多多指导
那么有没有可能模拟手指的按压效果呢? 答案是肯定的,flutter为我们提供了一个InkWell组件,这样手指按压下组件会产生波纹的效果。...那么InkWell和GestureDetector有什么联系呢? InkWell和GestureDetector很类似,都提供了对手势的支持。...在InkWell中提供了多种GestureTapCallback接口,用接收手势的回调,非常的方便。...在使用上,InkWell和GestureDetector也很类似,我们可以完全照搬GestureDetector的用法。...现在Dismissible实际上就可以工作了,当你滑动ListTile的时候,对应的item就会被删除。
InkWell 在前面的一些例子中,小伙伴应该看到了好几次 InkWell 这个部件,通过它我们可以实现对一些手势的监听,并实现 MD 的水波纹效果,举个简单的一个例子 InkWell( child...InkWell 是在 MaterialDesign 风格下的一个用来响应触摸的矩形区域(注意加粗的文字,1.如果不是 MD 风格的部件下,你是不能用这个来做点击响应的;2.InkWell 是一块矩形区域...InkWell 必须要有一个 Material 风格的部件作为锚点,巴拉巴拉巴拉....再次强调必须要在 MD 风格下使用。...` 表示点击事件取消监听 this.onTapCancel, // 同 `onTap` 表示双击事件监听 this.onDoubleTap, // 一个 `GestureLongPressCallback...hero_tag', child: Image.asset('images/ali.jpg', width: 200.0, height: 200.0)), onTap: () => Navigator.pop
那么有没有可能模拟手指的按压效果呢?答案是肯定的,flutter为我们提供了一个InkWell组件,这样手指按压下组件会产生波纹的效果。那么InkWell和GestureDetector有什么联系呢?...InkWell和GestureDetector很类似,都提供了对手势的支持。在InkWell中提供了多种GestureTapCallback接口,用接收手势的回调,非常的方便。...在使用上,InkWell和GestureDetector也很类似,我们可以完全照搬GestureDetector的用法。...现在Dismissible实际上就可以工作了,当你滑动ListTile的时候,对应的item就会被删除。...总结以上就是日常手势的基本使用了,我们可以通过GestureDetector,InkWell和Dismissible来和手势进行结合来实现相应的功能。
Icons.arrow_drop_down), ], ), ), InkWell...跳转到指定日期,默认支持动画切换 自定义日历Item,支持组合widget的方式和利用canvas绘制的方式 自定义顶部的WeekBar 根据实际场景,可以给Item添加自定义的额外数据,实现各种额外的功能...(top: 10, left: 15, bottom: 10, right: 15), child: Row( children: [ InkWell...( child: Text( '取消', style: TextStyle( fontSize...widget.onSelectedDate(chooseDateStr); FocusScope.of(context).unfocus(); Navigator.pop
在iOS原生开发中,实现抽屉视图还是比较麻烦的,有时还需要借助第三方组件来实现。但是在Flutter中,我们利用Drawer组件就可以很轻松实现抽屉视图。...3,抽屉视图通过 Drawer 组件来实现。 4,我们可以自己来配置抽屉视图,一般是通过Column组件来定义侧边栏的内容。 5,Divider组件可以用来实现分割线。...9,当点击抽屉视图中的某个组件来跳转到另外一个页面,然后从这个页面返回的时候,默认情况下,抽屉视图是不会消失的,也就是说,再返回回来的时候,抽屉视图效果还是存在的。...那么,当点击抽屉视图中的某个组件来跳转到另外一个页面,然后从这个页面返回的时候,如何让抽屉视图消失呢?...我们在页面跳转之前通过 Navigator.pop(context); 这行代码来实现“隐藏抽屉视图”的功能。 以上。
:delta为整个视图的高度 如果抽屉方向是水平的话:delta为整个视图的宽度 接下来就是在画布上如何显示这个抽屉了,也是按照方向来的: if (mOrientation == VERTICAL...,为什么要用动画呢,我们还是用效果来说说: 未打开 打开这个过程 画布是一个慢慢移动的过程,这里存在一个一个动画的过程: 这个函数是一个View类的一个函数,将调用线程去执行,先不管这个函数.../details/40861929 fromXDelta 为动画起始时 X坐标上的位置 toXDelta 为动画结束时 X坐标上的位置 fromYDelta 为动画起始时 Y坐标上的位置...toYDelta 为动画结束时 Y坐标上的位置 动画起始坐标到结束坐标,也就是我们的很多代码都是计算动画的坐标的。...: private boolean mIsShrinking;//收缩 也就是隐藏抽屉 private int mPosition;//位置,也就是抽屉的位置,左,右,上,下 private
移动开发中,drawerLayout抽屉视图是比较常用的一种控件。一般将用户的头像,用户名等信息在抽屉视图中呈现。 drawer中也可以提供一些选项,比如跳转去设置页,跳转去用户资料页面等等。...Flutter提供了Drawer组件;结合ListView等组件,开发者可以快速地制作出抽屉视图。...leading: new CircleAvatar(child: new Icon(Icons.school),), onTap: () { Navigator.pop...leading: new CircleAvatar(child: new Text('B2'),), onTap: () { Navigator.pop...CircleAvatar( child: new Icon(Icons.list),), onTap: () { Navigator.pop
想象下面的场景,一个红色的盒子,动画时长为6秒,前40%的时间大小从100->200,然后保持200不变20%的时间,最后40%的时间大小从200->300,这种效果通过TweenSequence实现,...最终效果如下: 共享动画 Hero是我们常用的过渡动画,当用户点击一张图片,切换到另一个页面时,这个页面也有此图,那么使用Hero组件就在合适不过了,先看下Hero的效果图: 上面效果实现的列表页面代码如下...(builder: (context) { return _TwoPage(); })); 回退到前一个页面: Navigator.pop(context); Flutter 提供了两个转场动画,分别为...团队还发布了新的 Animations 软件包,该软件包提供了实现新的 Material motion 规范的预构建动画。...里面提供了一系列动画,部分效果: 详情:Flutter 1.17 新 Material motion 规范的预构建动画 ?
我们在 simple_drawer_screen.dart 文件中创建一个名为 SimpleDrawerScreen 的类,然后将其挂在 Material() 的 home 属性上。.../// Drawer 头部 Header Material( color: Colors.blueAccent, child: InkWell( onTap: (){ ///...在导航前关闭 Drawer Navigator.pop(context); Navigator.push(context, MaterialPageRoute(builder:...Icons.home_outlined), title: Text('Home'), onTap: (){ /// 在跳转钱关闭 Drawer Navigator.pop...Icons.favorite_border), title: Text('Favourites'), onTap: (){ /// 在跳转钱关闭 Drawer Navigator.pop
抽屉自动向下滑动关闭,可配置形状是否开启这个功能 4、 抽屉打开状态时,当向下滑动抽屉时,没有滑动到一定的距离时放开,抽屉会自动向上滑动回到打开状态,当滑动到一定的距离时放开,抽屉会自动向下滑动到关闭状态...2 DragContainer抽屉视图基本使用 如上图所示的效果,为抽屉视图浮在主视图的上层,所以页面主体内容可考虑使用层叠布局,代码如下: ///上拉抽屉效果 class BottomDragWidget...省略 } 在这里也声明创建了一个ScrollController ,用于抽屉视图中的滑动视图,声明的抽屉控制器DragController 用来控制抽屉的打开与关闭,代码如下: ///关闭抽屉 dragController.close...(); ///打开抽屉 dragController.open(); buildDragWidget方法就是用来创建DragContainer 抽屉组件的方法, ///构建底部对齐的抽屉效果视图...itemCount: 20, itemBuilder: (BuildContext context, int index) { return InkWell(
注意,以下演示的代码只是关键代码,重点在于解决思路。 一、绘制粒子轮廓图 首先要在canvas画布上绘制一个由粒子组成的轮廓图,记录下每一个粒子的坐标,这样才能有后续的动画。 1....至于ctx(画布渲染上下文),可以理解为画布上的画笔,我们可以通过画笔在画布上随心所欲的绘制图案。如果浏览器不支持canvas会直接显示canvas标签中间的文字。..., dHeight); 引用MDN上的一张图会比较清晰的看出每个参数的作用: drawImage就是把一个image对象或者canvas上(甚至是video对象上的的每一帧)指定位置和尺寸的图像绘制到当前的画布上...另外,既然是做成粒子的效果,我们只需要把像素粒子保存一部分,展示在画布上。...粒子执行动画的时机 要让粒子效果比较明显,那就不能让动画效果执行太过整体了,需要让图案上每个粒子有不同的时间间隔启动,根据一定的规律交错的执行动画。
注意,以下演示的代码只是关键代码,重点在于解决思路。 一、绘制粒子轮廓图 首先要在canvas画布上绘制一个由粒子组成的轮廓图,记录下每一个粒子的坐标,这样才能有后续的动画。...至于ctx(画布渲染上下文),可以理解为画布上的画笔,我们可以通过画笔在画布上随心所欲的绘制图案。如果浏览器不支持canvas会直接显示标签中间自己设定的文字。...使用canvas的图像操作API绘制图像 绘制图像的关键API及参数说明: 引用MDN上的一张图会比较清晰的看出每个参数的作用: drawImage就是把一个image对象或者canvas上(甚至是video...对象上的的每一帧)指定位置和尺寸的图像绘制到当前的画布上。...粒子执行动画的时机 要让粒子效果比较明显,那就不能让动画效果执行太过整体了,需要让图案上每个粒子有不同的时间间隔启动,根据一定的规律交错的执行动画。
上一篇文章《在Bigone上创建一笔订单》已经调用API创建了一个订单,如何取消该订单?...Bigone官方提供了相应的接口: https://b1.run/api/v2/viewer/orders/{order_id}/cancel 提醒一句,这个API是私有接口,即需要在https的Header...这个API是一个POST方法调用,有一个必选参数:order_id,让人有点奇怪的是,为什么URL和参数中都要order_id?挺怪的一种设计。...Order数据结构,如果在取消订单的过程中,已经有部分成交,可以查询这个Order中的filled_amount获取已经成交的数量。...推荐阅读与交易所API有关的前几篇文章: 1)Bigone API v2的基本介绍 2)获取数字资产的余额 3)获取交易深度数据 4)获取历史成交记录 5)创建一笔订单
领取专属 10元无门槛券
手把手带您无忧上云