当前位置: 首页 > news >正文

php完整电商网站开发源码潍坊网站建设费用

php完整电商网站开发源码,潍坊网站建设费用,陕西建设监理协会网站,资讯类网站怎么做flutter开发实战-实现左右来回移动的按钮引导动画效果 最近开发过程中需要实现左右来回移动的按钮引导动画效果 一、动画 AnimationController用来控制一个或者多个动画的正向、反向、停止等相关动画操作。在默认情况下AnimationController是按照线性进行动画播放的。Animati…

flutter开发实战-实现左右来回移动的按钮引导动画效果

最近开发过程中需要实现左右来回移动的按钮引导动画效果

在这里插入图片描述

一、动画

AnimationController用来控制一个或者多个动画的正向、反向、停止等相关动画操作。在默认情况下AnimationController是按照线性进行动画播放的。AnimationController两个监听Listener如下

  • addListener
    addListener();它可以用于给Animation添加帧监听器,在每一帧都会被调用。帧监听器中最常见的行为是改变状态后调用setState()来触发UI重建。

  • addStatusListener
    addStatusListener();它可以给Animation添加“动画状态改变”监听器;动画开始、结束、正向或反向(见AnimationStatus定义)时会调用状态改变的监听器。

二、实现左右来回移动的按钮引导动画效果

在使用动画时候需要TickerProviderStateMixin或者SingleTickerProviderStateMixin
当需要多个Animation,则使用TickerProviderStateMixin

注意:在使用AnimationController的时候需要结合TickerProvider,因为只有在TickerProvider下才能配置AnimationController中的构造参数vsync。TickerProvider是一个抽象类,所以我们一般使用它的实现类TickerProviderStateMixin和SingleTickerProviderStateMixin。

实现左右来回移动的按钮引导动画效果代码效果

import 'package:flutter/material.dart';class ShakeContainer extends StatefulWidget {const ShakeContainer({required this.child, Key? key}) : super(key: key);final Widget child;@override_ShakeContainerState createState() => _ShakeContainerState();
}class _ShakeContainerState extends State<ShakeContainer>with SingleTickerProviderStateMixin {late AnimationController _animationController;late Animation<double> _animation;@overridevoid initState() {// TODO: implement initStatesuper.initState();_animationController =AnimationController(vsync: this, duration: Duration(milliseconds: 600));//使用弹性曲线_animation =CurvedAnimation(parent: _animationController, curve: Curves.easeOut);_animation = Tween(begin: 0.0, end: 1.0).animate(_animation);_animationController.addListener(() {if (mounted) {setState(() {});}});_animationController.addStatusListener((status) {if (status == AnimationStatus.completed) {_animationController.reverse();} else if (status == AnimationStatus.dismissed) {_animationController.forward();}});_animationController.forward();}void animationDispose() {_animationController.dispose();}@overridevoid dispose() {// TODO: implement disposeanimationDispose();super.dispose();}@overrideWidget build(BuildContext context) {return Container(alignment: Alignment.center,child: Transform(///构建Matrix4transform: buildMatrix4(),///中心对齐alignment: Alignment.center,child: widget.child,),);}Matrix4 buildMatrix4() {double dx = 0;double dy = 0;///x轴方向平移dx = _animation.value * 60;return Matrix4.translationValues(dx, dy, 0);}
}/// 左右摆动的心
class HeartItem extends StatelessWidget {const HeartItem({Key? key}): super(key: key);@overrideWidget build(BuildContext context) {return Container(width: 200.0,height: 150.0,alignment: Alignment.center,child: Image.asset("assets/images/touch_here.png",width: 200.0,height: 150,),);}
}

在代码中用到了Matrix4.translationValues(dx, dy, 0); 可以在指定的x、或者y轴方向平移。

在这里插入图片描述

三、小结

flutter开发实战-实现左右来回移动的按钮引导动画效果。
学习记录,每天不停进步。

http://www.15wanjia.com/news/177469.html

相关文章:

  • 北海建设网站常熟网站建设都找聚尚网络
  • 网站应急响应机制建设军队采购网官网
  • 快速搭建个人网站网站怎么做移动图片大全
  • 专业网站建设网站价格企业网站建设的方法
  • 做微站比较好的网站佛山市和城乡建设局网站首页
  • 更换网站程序深圳市网站制作最好的公司
  • 用wordpress做网站教程门户网站开发流程视频
  • 网站需求清单汕头个人网站建设
  • 跨越网站建设科技有限公司制作网络广告教学设计
  • 天河区建网站公司网站建设的意义方案
  • 长春网站建设培训班wordpress收录p
  • 河北互联思维网站建设甘肃省长城建设集团网站
  • wordpress支付宝打赏铜陵seo
  • 在线制作网站系统初中电脑做网站的软件
  • 网站建设公司公司模板建站广团
  • 三亚网站怎么制作网站前端用什么做
  • react是网站开发做刷单网站犯法吗
  • 公司做网站都需要什么流程今天高清视频免费播放
  • 崇明做网站好玩又不用实名认证的游戏
  • 怎么才可以做网站建设工程施工许可证查询网站
  • 网站提示代码四省网站建设
  • 宁波企业自助建站24小时最新军事新闻
  • 快速让百度收录网站网站建设上线问题
  • 沙井品牌网站建设深圳做网站d
  • 诸暨有哪些好网站制作公司wordpress百度主动不推送了
  • 重庆市建设工程造价管理站欧美一级a做爰片免费网站
  • 网站建设怎么分类网页设计找工作
  • 做文献综述的文章用什么网站汕头网站搜索优化
  • 贵阳建站南京淄博网站建设工作室
  • 网站开发语言 aspwordpress文库主题