• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

translations.dart阅读

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
  • 它是一个StatefulWidget, 初始化传入一个Listenable
  • 通过Listenable内部绑定了setState方法去触发子类的 build方法.
  • 子类通过继承AnimatedWidget,通过传入的Animation就能触发build方法
  • 以AnimateBuilder为例:

    _AnimatedState
    ....
    @override
    void initState() {
    super.initState();
    widget.listenable.addListener(_handleChange);
    }
    void _handleChange() {
    setState(() {
    // The listenable's state is our build state, and it changed already.
    });
    }
    @override
    Widget build(BuildContext context) => widget.build(context);
    AnimatedWidget
    ....
    @protected
    Widget build(BuildContext context);
    class AnimatedBuilder extends AnimatedWidget
    ....
    @override
    Widget build(BuildContext context) {
    return builder(context, child);
    }

小结:

  • 子类重写父类的build方法,父类完成动画相关的事件半丁,子类在build方法触发时根据当前的animation的value来更新界面。基于这个设计模式,Flutter提供了如下相关Widget:

    DiagnosticableTree (diagnostics.dart)
    Widget (framework.dart)
    StatefulWidget (framework.dart)
    AnimatedWidget (transitions.dart)
    AnimatedModalBarrier (modal_barrier.dart)
    _Shaker (input_decorator.dart)
    _TabStyle (tabs.dart)
    PositionedTransition (transitions.dart)
    RotationTransition (transitions.dart)
    DefaultTextStyleTransition (transitions.dart)
    RelativePositionedTransition (transitions.dart)
    SlideTransition (transitions.dart)
    AnimatedBuilder (transitions.dart)
    SizeTransition (transitions.dart)
    DecoratedBoxTransition (transitions.dart)
    ScaleTransition (transitions.dart)
    AlignTransition (transitions.dart)
  • 上面包括了常用的各种属性动画,如果开发时动画种类比较单一则拿来即用。

  • 以上的Widget是对Widget进行了一次包装,min 命名上在原来的Widget后面加上了Translation.


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
简单易懂的Dart》-Dart语言中文简明教程发布时间:2022-07-13
下一篇:
eventBus for Flutter & Dart发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap