Почему Flutter Hero странный на устройстве iOS, и нормально на устройстве Android, Как я могу это исправить?
На устройстве Android Hero может поддерживать хороший эффект, например, одновременно выполнять альфа-переход и переход с общего элемента.
Но на устройстве iOS, скорее всего, Hero создаст эффект, подобный переходу между слайдом и общим элементом, что мне кажется странным.
1 ответ
Это потому, что на iOS используется CupertinoTransition (справа налево), вы можете переопределить переход для обеих платформ.
Добавьте этот пользовательский переход при открытии новой страницы.
Navigator.of(context).push(
PageRouteBuilder<Null>(
pageBuilder: (BuildContext context, Animation<double> animation,
Animation<double> secondaryAnimation) {
return AnimatedBuilder(
animation: animation,
builder: (BuildContext context, Widget child) {
return Opacity(
opacity: animation.value,
child: YourNewPage(),
);
});
},
transitionDuration: Duration(milliseconds: 600)),
);