FadeTransition未显示

时间:2019-08-07 09:30:39

标签: flutter dart

A video is better that a thousand of words

信息卡建立后,我希望进行淡入淡出过渡 这就是我所做的:

 Builder(
   builder:(context){ 
     return _currentItem == 1 ? FadeTransition(
       opacity: fadeAnimation,
         child: new HotelAdditionnalInfo(),
        )
        :
        FadeTransition(
         opacity: fadeAnimation,
         child: new FlightAdditionnalInfo(),
        )
       ;
     }
  ) 

以及动画参数:

class _BookingsState extends State<Bookings> with SingleTickerProviderStateMixin {
  int _currentItem = 0;
  AnimationController animationController;
  Animation fadeAnimation;

  @override
  void initState() {
    animationController = AnimationController(vsync: this, duration: Duration(milliseconds: 1000));
    fadeAnimation = Tween(begin: 0.0, end: 1.0).animate(animationController);
    animationController.forward();
    super.initState();
  }

动画不显示。我可能做错了什么,但我找不到:/

1 个答案:

答案 0 :(得分:0)

好吧,我找到了一个可以完成这项工作的小部件:

AnimatedCrossFade(
            duration: const Duration(milliseconds: 500),
            firstChild: new HotelAdditionnalInfo(),
            secondChild: new FlightAdditionnalInfo(),
            crossFadeState: _currentItem == 1 ? CrossFadeState.showFirst : CrossFadeState.showSecond,
          )

但是它消除了我内容的阴影。

之前: enter image description here 之后:enter image description here

有人知道这个小部件是否需要一种容器吗?