美文网首页
Flutter-自定义隐式动画组件的知识

Flutter-自定义隐式动画组件的知识

作者: 阿博聊编程 | 来源:发表于2022-06-12 00:07 被阅读0次
    配图来自网络,如侵必删

    在日常的Flutter开发当中,肯定会出现Flutter SDK隐式动画组件满足不了产品需求的情况。如果我们要自定义隐式动画的时候,会涉及到ImplicitlyAnimatedWidgetAnimatedWidgetBaseState两个类,下面来分享相关的知识,希望对你有所帮助。

    ImplicitlyAnimatedWidget

    ImplicitlyAnimatedWidget类,是所有隐式动画组件的父类,属于一个有状态的组件,构造函数需要有curveduration两个参数,源码如下:

    const ImplicitlyAnimatedWidget({
        Key? key,
        this.curve = Curves.linear,
        required this.duration,
        this.onEnd,
      }) : assert(curve != null),
           assert(duration != null),
           super(key: key);
    

    AnimatedWidgetBaseState

    AnimatedWidgetBaseStateImplicitlyAnimatedWidget对应的状态类,我们在自定义隐式动画组件的时候,对应的State类必须继承AnimatedWidgetBaseState这个类。源码如下:

    abstract class AnimatedWidgetBaseState<T extends ImplicitlyAnimatedWidget> extends ImplicitlyAnimatedWidgetState<T> {
      @override
      void initState() {
        super.initState();
        controller.addListener(_handleAnimationChanged);
      }
    
      void _handleAnimationChanged() {
        setState(() { /* The animation ticked. Rebuild with new animation value */ });
      }
    }
    

    相关文章

      网友评论

          本文标题:Flutter-自定义隐式动画组件的知识

          本文链接:https://www.haomeiwen.com/subject/umxgmrtx.html