TiltAnimatedBuilder widget

了解 TiltAnimatedBuilder widget 参数。它允许你自定义倾斜动画。

TiltAnimatedBuilder widget 只能在 Tilt widget 中使用。

它提供了一个可自定义动画的 builder 回调,用于渲染逻辑。
(例如,Transform)。

简单用法

...

Tilt(
  child: TiltAnimatedBuilder(
    builder: (context, tiltAnimatedState, child) {
      final animatedTiltData = tiltAnimatedState.animatedTiltData;
      final tiltTransform = animatedTiltData.transform;
      final areaProgress = animatedTiltData.areaProgress;

      return Transform(
        alignment: AlignmentDirectional.center,
        transform: tiltTransform,
        child: MyCustomWidget(
          progress: areaProgress,
          child: child, // SomeWidget()
        ),
      );
    },
    child: SomeWidget(),
  ),
),

...

TiltAnimatedBuilder widget 参数

ParameterTypeDefaultDescription
builder requiredWidget Function(
  BuildContext context,
  TiltAnimatedState tiltAnimatedState,
  Widget? child,
);
-当 Tilt 动画变化时会触发此回调。
传入该 builder 的 child 通常应包含在最终返回的 widget 树中。
childWidget?null用于传给 builder 的 child widget。
当 builder 中有一部分子树不依赖 Tilt 动画变化时,建议通过预构建 child 传入,避免每次动画更新都重复构建该部分。
child 参数是可选的,但在合适场景下能显著提升性能,属于推荐的做法。

TiltAnimatedState

ParameterTypeDescription
tiltConfigTiltConfig当前倾斜配置。
animatedTiltDataTiltDataModel当前动画倾斜数据,
表示从初始状态到 targetTiltData 的插值结果,用于渲染当前动画进度。
动画过程中 animatedTiltData 会逐渐从初始状态变化并趋近于 targetTiltData
targetTiltDataTiltDataModel当前目标倾斜数据,
动画最终的目标数据。
动画过程中 animatedTiltData 会逐渐从初始状态变化并趋近于 targetTiltData
currentGesturesTypeGesturesType当前手势类型。
isCurrentGesturesTypeActivebool手势当前是否处于活动状态。
表明手势当前是否处于活动状态,并根据 GesturesType手势优先级 进行处理判断。