Flutter:如何使新传入的子页面在过渡到屏幕时淡入并放大

问题描述 投票:0回答:0

我试图了解如何在 Flutter 中使用 AnimatedSwitcher 来创建两个页面之间的过渡动画,我真正想要的是新页面从中间慢慢淡入屏幕,并且它的不透明度随着页面的变化而变得更清晰放大以最终填满屏幕。

我已经尝试了多种代码,但这个代码似乎最接近预期,除了正在淡化的页面是旧页面,同时新页面在背景中淡化。这不是我想要的,我需要新的在屏幕放大时淡出屏幕,这是这种困境的减速 GIF。 this is the current transition for reference 这是代码:

 return AnimatedSwitcher(
          duration: const Duration(milliseconds: 4000),
          transitionBuilder: (widget, animation) {
            return Stack(
              children: [
                FadeTransition(
                  opacity: animation,
                  child: widget,
                ),
                ScaleTransition(
                  scale: animation,
                  filterQuality: FilterQuality.high,
                  child: widget,
                ),
              ],
            );
          },
          switchOutCurve: const Threshold(0),
          child: newWidget,
          //
        );
flutter dart user-interface transition user-experience
© www.soinside.com 2019 - 2024. All rights reserved.