Почему 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)),
          );
Другие вопросы по тегам