美文网首页
Flutter中的Hero动画

Flutter中的Hero动画

作者: 刘铁崧 | 来源:发表于2020-12-25 12:51 被阅读0次
  • 实现效果:
  • 主页面列表页
class _TestNavigatorState extends State<TestNavigator>{
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("动画"),
      ),
      body: Center(
        child: GridView(
          gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisCount: 2,//一排两个
            crossAxisSpacing: 10,//间距
            mainAxisSpacing: 10,//间距
            childAspectRatio: 16/9
          ),
          children: List.generate(20, (index){
            final imageURL = "https://picsum.photos/500/500?random=$index";
            return GestureDetector(
              onTap: (){
                Navigator.of(context).push(PageRouteBuilder(
                  transitionDuration: Duration(seconds: 1),
                  pageBuilder: (context,animation1,animation2){
                    return FadeTransition(
                      opacity: animation1,
                      child: DetailPage(imageURL),
                    );
                  }
                ));
              },
              child: Hero(
                tag: imageURL,
                child: Image.network(imageURL,fit: BoxFit.cover),
              ),
            );
          }),
        ),
      ),
    );
  }
}
  • 详情页
    使用Hero包裹,并且要保持tag与父页面一致
class DetailPage extends StatelessWidget {
  final String _imageURL;
  DetailPage(this._imageURL);
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.black,
      body: Center(
        child: GestureDetector(
          child: Hero(tag: _imageURL, child: Image.network(_imageURL,fit: BoxFit.cover),),
          onTap: (){
            Navigator.of(context).pop();
          },
        ),
      ),
    );
  }
}

相关文章

  • Flutter中的Hero动画

    实现效果: 主页面列表页 详情页使用Hero包裹,并且要保持tag与父页面一致

  • flutter九宫格看图

    flutter九宫格图片 利用GridView实现布局,用Hero动画进行展示

  • Flutter动画 4 - Hero动画

    概述 花瓣App的转场动画,这么多年还是没变,还是图片转场动画. 网上有很多人实现过相关效果,先前骚栋18年在做i...

  • Flutter-Hero动画

    详细介绍 你会学到什么: Hero指的是可以在路由(页面)之间“飞行”的widget。 使用Flutter的Her...

  • flutter之Hero动画

    Hero指的是可以在路由(页面)之间“飞行”的widget。使用Flutter的Hero widget创建hero...

  • Flutter Hero动画案例

    Hero 指的是可以在路由(页面)之间“飞行”的 widget,简单来说 Hero 动画就是在路由切换时,有一个共...

  • Flutter 动画篇——Hero

    Hero 动画使用方法 我们先来看一下效果rt: Hero动画实现了元素共享功能,简单来说: Hero动画就是在路...

  • Flutter Hero/FadeTransition动画

    图片列表 --> 图片详情的 Hero动画 图片列表页 图片详情页

  • flutter 开发问题汇总

    Flutter踩坑整理 1、Hero动画 Text 出现黄色条纹 以及红色字体的问题 字体变化需要设置好TextS...

  • Flutter(三十七)Hero动画

    特点 页面A有个圆形头像,页面B也有个圆形头像,头像图片是同一个。从A跳转到B时,一般都是硬性跳转,两个头像之间没...

网友评论

      本文标题:Flutter中的Hero动画

      本文链接:https://www.haomeiwen.com/subject/kzsvnktx.html