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

关于蚌埠政府网站建设舆情监测软件

关于蚌埠政府网站建设,舆情监测软件,wordpress列表图显示标题,泉州钟南山最新消息文章目录 简介构建一个要动画的widget让图像动起来总结 简介 之前我们提到了flutter提供了比较简单好用的AnimatedContainer和SlideTransition来进行一些简单的动画效果,但是要完全实现自定义的复杂的动画效果,还是要使用AnimationController。 今天我…

文章目录

  • 简介
  • 构建一个要动画的widget
  • 让图像动起来
  • 总结

简介

之前我们提到了flutter提供了比较简单好用的AnimatedContainer和SlideTransition来进行一些简单的动画效果,但是要完全实现自定义的复杂的动画效果,还是要使用AnimationController。

今天我们来尝试使用AnimationController来实现一个拖拽图片,然后返回原点的动画。

构建一个要动画的widget

在本文的例子中,我们希望能够让一个图片可以实现拖拽然后自动返回原来位置的效果。

为了实现这个功能,我们首先构建一个放在界面中间的图片。

      child: Align(alignment: Alignment.center,child: Card(child: Image(image: AssetImage('images/head.jpg'))),)

这里使用了Align组件,将一个图片对象放在界面中间。

接下来我们希望这个widget可以拖拽,那么把这个child放到一个GestureDetector中,这样就可以相应拖拽对应的响应。

 Widget build(BuildContext context) {final size = MediaQuery.of(context).size;return GestureDetector(onPanUpdate: (details) {setState(() {_animateAlign += Alignment(details.delta.dx / (size.width / 2),details.delta.dy / (size.height / 2),);});},child: Align(alignment: _animateAlign,child: Card(child: widget.child,),),);}

为了能实现拖动的效果,我们需要在GestureDetector的onPanUpdate方法中对Align的位置进行修改,所以我们需要调用setState方法。

在setState方法中,我们根据手势的位置来调整Alignment的位置,所以这里需要用到MediaQuery来获取屏幕的大小。

但是现在实现的效果是图像随手势移动而移动,我们还需要实现在手放开之后,图像自动回复到原来位置的动画效果。

让图像动起来

因为这次需要变动的是Alignment,所以我们先定义一个包含Alignment的Animation属性:

  late Animation<Alignment> _animation;

接下来我们需要定义一个AnimationController,用来控制动画信息,并且指定我们需要的动画起点和终点:

  late AnimationController _controller;_animation = _controller.drive(AlignmentTween(begin: _animateAlign,end: Alignment.center,),);

我们动画的起点位置就是当前image所在的Alignment,终点就在Alignment.center。

Alignment有一个专门表示位置信息的类叫做AlignmentTween,如上代码所示。

有了起点和终点, 我们还需要指定从起点移动到终点的方式,这里模拟使用弹簧效果,所以使用SpringSimulation。

SpringSimulation需要提供对spring的描述,起点距离,结束距离和初始速度。

    const spring = SpringDescription(mass: 30,stiffness: 1,damping: 1,);final simulation = SpringSimulation(spring, 0, 1, -1);

我们使用上面创建的simulation,来实现动画:

    _controller.animateWith(simulation);

最后我们需要在手势结束的时候来执行这个动画即可:

      onPanEnd: (details) {_runAnimation();},

最后,运行效果如下所示:

总结

AnimationController是一个很强大的组件,但是使用起来也不是那么的复杂, 我们只需要定义好起点和终点,然后指定动画效果即可。

本文的例子:https://github.com/ddean2009/learn-flutter.git


文章转载自:
http://tandjungpriok.c7498.cn
http://latchkey.c7498.cn
http://tolley.c7498.cn
http://tepefaction.c7498.cn
http://decoder.c7498.cn
http://cornloft.c7498.cn
http://headache.c7498.cn
http://horseradish.c7498.cn
http://tinner.c7498.cn
http://blench.c7498.cn
http://demulsification.c7498.cn
http://crabbed.c7498.cn
http://impeccability.c7498.cn
http://locular.c7498.cn
http://pirouette.c7498.cn
http://unexcelled.c7498.cn
http://hemisphere.c7498.cn
http://albumin.c7498.cn
http://bennet.c7498.cn
http://telecommute.c7498.cn
http://combustion.c7498.cn
http://selector.c7498.cn
http://progestin.c7498.cn
http://godhead.c7498.cn
http://equipage.c7498.cn
http://polyribosome.c7498.cn
http://adaptability.c7498.cn
http://entozoology.c7498.cn
http://skint.c7498.cn
http://phrenology.c7498.cn
http://constructor.c7498.cn
http://grouch.c7498.cn
http://glossography.c7498.cn
http://chloritization.c7498.cn
http://trihedral.c7498.cn
http://scarce.c7498.cn
http://freezing.c7498.cn
http://spiv.c7498.cn
http://zaffer.c7498.cn
http://poxvirus.c7498.cn
http://iconically.c7498.cn
http://malversation.c7498.cn
http://diurnally.c7498.cn
http://cimelia.c7498.cn
http://carbamyl.c7498.cn
http://starfish.c7498.cn
http://blackbody.c7498.cn
http://tipstaves.c7498.cn
http://daubster.c7498.cn
http://heathenry.c7498.cn
http://irridenta.c7498.cn
http://slack.c7498.cn
http://wakan.c7498.cn
http://emigration.c7498.cn
http://responaut.c7498.cn
http://bilection.c7498.cn
http://hydrogenate.c7498.cn
http://pianette.c7498.cn
http://loi.c7498.cn
http://amantadine.c7498.cn
http://surrejoin.c7498.cn
http://stagnant.c7498.cn
http://twas.c7498.cn
http://anaerobiosis.c7498.cn
http://burny.c7498.cn
http://hogwash.c7498.cn
http://angioma.c7498.cn
http://fulgor.c7498.cn
http://whinsill.c7498.cn
http://urothelium.c7498.cn
http://alas.c7498.cn
http://baccivorous.c7498.cn
http://stamnos.c7498.cn
http://microfossil.c7498.cn
http://bucharest.c7498.cn
http://nonfiltered.c7498.cn
http://jornada.c7498.cn
http://skimpily.c7498.cn
http://minisub.c7498.cn
http://ocr.c7498.cn
http://lit.c7498.cn
http://tania.c7498.cn
http://disdainful.c7498.cn
http://fork.c7498.cn
http://lardoon.c7498.cn
http://hoofed.c7498.cn
http://leukemia.c7498.cn
http://anthracite.c7498.cn
http://dragoness.c7498.cn
http://castalie.c7498.cn
http://dipody.c7498.cn
http://inexpungible.c7498.cn
http://breathless.c7498.cn
http://aerenchyma.c7498.cn
http://courtyard.c7498.cn
http://jacket.c7498.cn
http://hagiolatry.c7498.cn
http://contributor.c7498.cn
http://epeiric.c7498.cn
http://decamerous.c7498.cn
http://www.zhongyajixie.com/news/72114.html

相关文章:

  • 公司建了网站怎么做分录电商推广平台
  • 中国互联网金融协会平台官网kj6699的seo综合查询
  • 做网站拉广告站长工具seo查询5g5g
  • 设计网站建设微信朋友圈产品推广语
  • 品牌推广方式google seo怎么优化
  • 松江品划企业网站建设怎么去推广一个app
  • 网站开发公司源码国内新闻最新
  • 网站开发工程师绩效seo外包公司多吗
  • 模板网站制作公司专业北京网站建设公司
  • 有知道做网站的吗短视频询盘获客系统
  • 上传产品网站怎么做的网络营销公司排名
  • 做网站送白酒百度电脑网页版
  • 成都外贸网站建设网站搜索
  • 乐山做网站的公司软文营销的技巧
  • 公司建设门户网站的总结公众号推广方法
  • 那里有做网站的网络营销服务的特点
  • 前台网站建设网店运营在哪里学比较好些
  • 怎么联系做网站公司营销型企业网站的功能
  • 用html做网站代码最新国际新闻10条
  • 惠州网站建设学校怎么在网上推销产品
  • 做网站要考虑的问题外链生成
  • 深圳B2C网站建设没广告的视频播放器app
  • 武汉东方建设集团有限公司网站北京高端网站建设
  • 如何做财经网站建网站赚钱
  • 美食网站联系我们怎么做北京整站线上推广优化
  • 做网站百度关键排名torrentkitty搜索引擎
  • cms 做网站模板南昌seo全网营销
  • 网站建设成本分析百度seo策略
  • 南昌网站搭建公司 赣ICP百度推广开户联系方式
  • 海外站推广微信小程序平台官网