Flutter 动画交叉淡入淡出,然后淡入

Flutter 动画交叉淡入淡出,然后淡入,flutter,dart,fade,flutter-animation,Flutter,Dart,Fade,Flutter Animation,AnimatedCrossFade是我最喜欢的使用Flitter的小部件之一,它很流畅而且非常方便 我知道这与小部件的用途相矛盾,但我想知道是否有办法调整它,使它不会在它的子部件之间交叉淡入淡出,而是淡出其中一个,然后淡入另一个 如果无法使用此小部件执行此操作,那么最好的方法是什么?找到了我正在寻找的解决方案 “像这样的东西效果很好: class LinearHalfCurve extends Curve { @override double transformInternal(do

AnimatedCrossFade是我最喜欢的使用Flitter的小部件之一,它很流畅而且非常方便

我知道这与小部件的用途相矛盾,但我想知道是否有办法调整它,使它不会在它的子部件之间交叉淡入淡出,而是淡出其中一个,然后淡入另一个


如果无法使用此小部件执行此操作,那么最好的方法是什么?

找到了我正在寻找的解决方案

“像这样的东西效果很好:

class LinearHalfCurve extends Curve {
   @override
   double transformInternal(double t) {
      if(t < 0.5) {
        return t*2; // goes from 0-1.0 when t is 0-0.5
      }
      return 1.0; // cap to 1.0 when t is above 0.5
    }
}

如果您想要更奇特的曲线,可以在自定义曲线类中保留该类型的内部曲线,并在第一次返回时将t*2传递到该曲线中。”

找到了我正在寻找的解决方案

“像这样的东西效果很好:

class LinearHalfCurve extends Curve {
   @override
   double transformInternal(double t) {
      if(t < 0.5) {
        return t*2; // goes from 0-1.0 when t is 0-0.5
      }
      return 1.0; // cap to 1.0 when t is above 0.5
    }
}

如果你想要更奇特的曲线,你可以在自定义曲线类中保留该类型的内部曲线,并在第一次返回时将t*2传递到该曲线中。”

@pskink AnimatedSwitcher似乎只在切换现有小部件的状态时起作用,而在其子部件依赖布尔值时不起作用。如果不够清晰,很抱歉,我的意思是当AnimatedSwitcher的子对象依赖于某个布尔值时(例如:AnimatedSwitcher(子对象:someBool?WidgetA:WidgetB))。好吧,结果证明这是可行的,但只有当这两个小部件足够不同时(仅使用非常不同的小部件进行测试)。我的仅在高度和颜色上略有不同。@pskink AnimatedSwitcher似乎仅在切换现有小部件的状态时有效,而在其子部件依赖布尔值时无效抱歉,如果不够清楚,我的意思是当AnimatedSwitcher的子部件依赖于某个布尔值时(例如:AnimatedSwitcher(child:someBool?WidgetA:WidgetB)).好的,结果证明这是可行的,但只有当这两个小部件足够不同时(只是用非常不同的小部件测试)。我的只是在高度和颜色上略有不同。