用到hero 动画,需要tag来指定点击对象。
import 'package:flutter/material.dart';void main() => runApp(HeroApp());class HeroApp extends StatelessWidget {@overrideWidget build(BuildContext context) {return MaterialApp(title: 'Transition Demo',home: MainScreen(),);}}class MainScreen extends StatelessWidget {@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('Main Screen'),),body: GestureDetector(child: Hero(tag: 'imageHero',child: Image.network('https://picsum.photos/250?image=9',),),onTap: () {Navigator.push(context, MaterialPageRoute(builder: (_) {return DetailScreen();}));},),);}}class DetailScreen extends StatelessWidget {@overrideWidget build(BuildContext context) {return Scaffold(body: GestureDetector(child: Center(child: Hero(tag: 'imageHero',child: Image.network('https://picsum.photos/250?image=9',),),),onTap: () {Navigator.pop(context);},),);}}
来源:https://flutter.dev/docs/cookbook/navigation/hero-animations
