美文网首页
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