_controller.view

来源:8-4 基于Animation实现带动画的展开列表组件

幕布斯3357744

2021-06-23

 return AnimatedBuilder(
      animation: _controller.view,
      child: child,
      builder: (BuildContext context, Widget? child) {
        return Align(
          heightFactor: _heightFactor.value,
          //fix 从布局之上的位置开始展开
          alignment: Alignment.topCenter,
          child: Container(
            //会撑满宽度后,让内容对其
            alignment: Alignment.topLeft,
            padding: EdgeInsets.only(top: 8),
            child: child,
          ),
        );
      },
    );

这里的_controller.view就是指动画绑定的view吧
_controller = AnimationController(duration: Duration(milliseconds: 200), vsync: this);
那么这里vsync: this, vsync这个参数设置就是绑定的view吗

写回答

1回答

CrazyCodeBoy

2021-06-24

1._controller.view指动画绑定的view; 2.vsync接收一个TickerProvider,用来防止屏幕外动画(指动画不在屏幕内时-锁屏这也算)消耗不必要的资源;
0
1
幕布斯3357744
懂了,_controller.view返回的是this,也就是把AnimatedBuilder里的child绑定为view,我还以为是在外部绑定的了
2021-06-24
共1条回复

Flutter高级进阶实战-仿哔哩哔哩-掌握Flutter高阶技能

一次性掌握Flutter高阶技能+商业级复杂项目架构设计与开发方案

1746 学习 · 882 问题

查看课程