Hero不要去包裹 flex元素 (row、column等),确有需求需要对每个元素单独用hero包装
修改前
修改后
Card(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Hero(
tag: title,
child: ClipRRect(
borderRadius: BorderRadius.circular(16),
child: SizedBox(
width: double.infinity,
child: AspectRatio(
aspectRatio: 1,
child: Image.network(
imageUrl,
fit: BoxFit.cover,
))
)
)),
Padding(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
title,
style: const TextStyle(
fontWeight: FontWeight.bold,
fontSize: 20,
),
),
],
),
),
],
),
),