为什么Flutter Hero在iOS设备上很奇怪,而在Android设备上还可以,我该如何解决?

时间:2019-01-11 03:12:12

标签: android ios flutter flutter-animation

在Android设备上,英雄可以支持良好的效果,例如同时执行 alpha和共享元素转换

但是在iOS设备上,英雄很可能会同时产生类似滑动和共享元素过渡的效果,我认为这很奇怪。

1 个答案:

答案 0 :(得分: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)),
          );