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 参数
| Parameter | Type | Default | Description |
|---|---|---|---|
builder required | Widget Function( BuildContext context, TiltAnimatedState tiltAnimatedState, Widget? child, ); | - | 当 Tilt 动画变化时会触发此回调。 传入该 builder 的 child 通常应包含在最终返回的 widget 树中。 |
| child | Widget? | null | 用于传给 builder 的 child widget。 当 builder 中有一部分子树不依赖 Tilt 动画变化时,建议通过预构建 child 传入,避免每次动画更新都重复构建该部分。 child 参数是可选的,但在合适场景下能显著提升性能,属于推荐的做法。 |
TiltAnimatedState
| Parameter | Type | Description |
|---|---|---|
| tiltConfig | TiltConfig | 当前倾斜配置。 |
| animatedTiltData | TiltDataModel | 当前动画倾斜数据, 表示从初始状态到 targetTiltData 的插值结果,用于渲染当前动画进度。动画过程中 animatedTiltData 会逐渐从初始状态变化并趋近于 targetTiltData。 |
| targetTiltData | TiltDataModel | 当前目标倾斜数据, 动画最终的目标数据。 动画过程中 animatedTiltData 会逐渐从初始状态变化并趋近于 targetTiltData。 |
| currentGesturesType | GesturesType | 当前手势类型。 |
| isCurrentGesturesTypeActive | bool | 手势当前是否处于活动状态。 表明手势当前是否处于活动状态,并根据 GesturesType 的 手势优先级 进行处理判断。 |