首页 > 其他分享 >flutter动画— —Hero 动画

flutter动画— —Hero 动画

时间:2024-05-17 20:20:04浏览次数:21  
标签:动画 widget Hero jpg arguments child flutter

Hero 动画

Hero 动画的使用

微信朋友圈点击小图片的时候会有一个动画效果到大图预览,这个动画效果就可以使用Hero 动画实 现。 Hero 指的是可以在路由(页面)之间“飞行”的 widget,简单来说 Hero 动画就是在路由切换时,有一个共 享的widget 可以在新旧路由间切换。
 页面跳转
        GestureDetector(
            onTap: () {
              Get.toNamed("/hero", arguments: {
                "imageUrl":
                    "https://ts1.cn.mm.bing.net/th/id/R-C.748160bf925a7acb3ba1c9514bbc60db?rik=AYY%2bJ9WcXYIMgw&riu=http%3a%2f%2fseopic.699pic.com%2fphoto%2f50017%2f0822.jpg_wh1200.jpg&ehk=CMVcdZMU6xxsjVjafO70cFcmJvD62suFC1ytk8UuAUk%3d&risl=&pid=ImgRaw&r=0",
                "description": "这是一张图片",
              });
            },
            child: Container(
              child: Hero(
                  tag:
                      'https://ts1.cn.mm.bing.net/th/id/R-C.748160bf925a7acb3ba1c9514bbc60db?rik=AYY%2bJ9WcXYIMgw&riu=http%3a%2f%2fseopic.699pic.com%2fphoto%2f50017%2f0822.jpg_wh1200.jpg&ehk=CMVcdZMU6xxsjVjafO70cFcmJvD62suFC1ytk8UuAUk%3d&risl=&pid=ImgRaw&r=0',
                  child: Image.network(
                    "https://ts1.cn.mm.bing.net/th/id/R-C.748160bf925a7acb3ba1c9514bbc60db?rik=AYY%2bJ9WcXYIMgw&riu=http%3a%2f%2fseopic.699pic.com%2fphoto%2f50017%2f0822.jpg_wh1200.jpg&ehk=CMVcdZMU6xxsjVjafO70cFcmJvD62suFC1ytk8UuAUk%3d&risl=&pid=ImgRaw&r=0",
                    height: 100,
                  )),
            ))
 动画页面
class HeroPage extends StatefulWidget {
  final Map arguments;
  const HeroPage({super.key, required this.arguments});
  @override
  State<HeroPage> createState() => _HeroPageState();
}

class _HeroPageState extends State<HeroPage> {
  @override
  Widget build(BuildContext context) {

    return Scaffold(
     
      body:
      GestureDetector(
onTap: () {
Get.off(
  MyPayTest(),
  transition: Transition.noTransition,
);
},
child: Hero(
              tag: widget.arguments["imageUrl"],
              child:
              Scaffold(
                backgroundColor: Colors.black,
              body:Center(
                child: AspectRatio(
                aspectRatio: 9/16,
                child:
                Image.network(widget.arguments["imageUrl"])
                ),
              )))
      ),
    );
  }
}

配置 Hero 动画的执行时间

 

标签:动画,widget,Hero,jpg,arguments,child,flutter
From: https://www.cnblogs.com/xbinbin/p/18197801

相关文章

  • 动画里喜欢的音乐制作学习
    末日三问音乐:加藤達也KatouTatsuya【加藤达也:负责了少歌、末日三问、境界线上的地平线2、Free的配乐】青い記憶(あおいきおき)艺术家:田所あずさ/TRUE(唐沢美帆)/山田タマル作曲:加藤達也/Q-MHz/南田健吾/h-wonder/山田タマル作词:Q-MHz/唐沢美帆(TRU......
  • 常用Maya动画渲染插件及云渲染插件推荐
    Maya是一款在影视动画行业备受推崇的建模和动画软件,以其卓越的性能和灵活的功能而闻名。为了提高工作效率,Maya提供了广泛的插件选择,这些插件可以大幅简化用户在建模和渲染过程中的操作。本文将介绍一些常用的Maya插件和高效的云渲染工具,助您更高效地完成动画制作,赶紧来了解一下吧......
  • CSS动画-数字轮盘滚动效果实现(组件封装,快速使用)
    效果图:原理分析:这玩意就和垂直方向的轮播图差不多,只是把轮播的图换成数字 主要实现:父组件:父组件接收一个curNum属性,这个属性代表当前需要显示的数字。它将这个数字传递给子组件AnimateNum,以便子组件可以正确地显示和滚动数字。子组件一(AnimateNum):这个组件接收父组件传递......
  • flutter 运行ios真机测试 提示 Command PhaseScriptExecution failed with a nonzero
    我这边引起CommandPhaseScriptExecutionfailedwithanonzeroexitcode的原因是我刚更换了推送证书,于是我打开钥匙串访问发现推送证书处于不受信任状态,于是把证书状态设置为信任状态并删除了旧的推送证书,设置完成后再去运行,就可以成功运行了。这是我这边的单一情况,......
  • 2024年瑞云影视动画年中充值活动正式启动
    2024年,瑞云影视动画年中充值活动正式启动,为广大用户带来丰厚福利。活动期间,参与充值的用户将有机会参与抽奖,赢取显卡、运动相机、iPhone15等豪华奖品。本次活动面向所有瑞云影视动画用户,旨在感谢老用户的长期支持,同时吸引新用户体验高质量的渲染服务。活动时间:2024年5月16日10:......
  • flutter开发项目编译失败依赖冲突的解决方法dependency_overrides
    1.问题在复杂的稍等大点的flutter项目当中,依赖各种第三方框架是很正常,而且也有有很多依赖的,但有时难免存在不同的框架刚好使用了同一个依赖库的不同版本,特别是依赖了系统的某个库的不同版本这个时候就难免会出现同一个依赖库不同版本冲突的编译失败问题2.现象Becauseflut......
  • flutter控件之Text属性的意思
    constText(Stringthis.data,{super.key,this.style,this.strutStyle,this.textAlign,this.textDirection,this.locale,this.softWrap,this.overflow,@Deprecated('UsetextScalerinstead.''UseoftextScaleFactorwasdeprecatedinprepar......
  • WPF使用Shape实现复杂线条动画
    看到巧用CSS/SVG实现复杂线条光效动画的文章,便也想尝试用WPF的Shape配合动画实现同样的效果。ChokCoco大佬的文章中介绍了基于SVG的线条动画效果和通过角向渐变配合MASK实现渐变线条两种方式。WPF中的Shape与SVG非常相似,因此这种方式也很容易实现。但WPF中仅有的两种渐变画刷......
  • 实现ARM平台开发板开机动画+切换界面
    *@functionname: read_JPEG_file*@brief:实现开机动画+切换界面*@param :*filename :start_x :start_y*@retval:int*@date:2024/05/14*@version:1.0*@note:本函数要在移植好JPEG库的前......
  • 通过LCD屏幕显示开机动画(将gif图片转为逐帧JPG图片)
    /**@filename: main.c@brief通过LCD屏幕显示开机动画@[email protected]@date2024/05/[email protected]:版本@property:属性介绍@note补充注意说明CopyRight(c)[email protected]*/#include<stdio.h>#incl......