我已经实现了两个屏幕之间的英雄动画。问题是它没有正确地显示动画。如图所示,在单词下放置黄色线条
child: InkWell(
onTap: (){
Navigator.push(context, MaterialPageRoute(builder: (context) => CityScreen(widget.city)));
},
child: Row(
children: [
Padding(
padding: const EdgeInsets.all(15.0),
child: Hero(
tag: widget.city.name + 'img',
child: Container(
child: Image(
width: 100,
height: 100,
image: AssetImage('images/oussama.jpg'),
),
),
),
),另一个屏幕是:
child: Scaffold(
body: NestedScrollView(
headerSliverBuilder: (BuildContext context, bool innerBoxIsScrolled) {
return <Widget>[
SliverAppBar(
expandedHeight: 300.0,
floating: false,
pinned: true,
flexibleSpace: Center(
child: FlexibleSpaceBar(
centerTitle: true,
title: Hero(
tag: widget.city.name,
child: Container(
child: Text(widget.city.name,
style: TextStyle(
color: Colors.black,
fontSize: 30,
fontWeight: FontWeight.bold,
),
),
),
),
background: Hero(
tag: widget.city.name + 'img',
child: Container(
child: Image(
image: AssetImage('images/oussama.jpg'),
),
),
),
),
),
),
];
},发布于 2020-05-19 17:33:06
尝试将根小部件包装在Scaffold中。
https://stackoverflow.com/questions/61887120
复制相似问题