Animated.Value
驱动动画的标准值。一个 Animated.Value
可以同步驱动多个属性,但一次只能被一个机制驱动。使用新的机制(例如,开始新的动画或调用 setValue
)将停止任何先前的机制。
通常在类组件中使用 useAnimatedValue(0);
或 new Animated.Value(0);
初始化。
参考
方法
setValue()
setValue(value: number);
直接设置值。这将停止在该值上运行的任何动画并更新所有绑定的属性。
参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
value | 数字 | 是 | 值 |
setOffset()
setOffset(offset: number);
设置一个偏移量,该偏移量应用于设置的任何值之上,无论是通过 setValue
、动画还是 Animated.event
。对于补偿诸如平移手势的开始之类的事情很有用。
参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
offset | 数字 | 是 | 偏移值 |
flattenOffset()
flattenOffset();
将偏移值合并到基本值中并将偏移量重置为零。值的最终输出不变。
extractOffset()
extractOffset();
将偏移值设置为基本值,并将基本值重置为零。值的最终输出不变。
addListener()
addListener(callback: (state: {value: number}) => void): string;
向值添加异步监听器,以便您可以观察动画的更新。这很有用,因为无法同步读取值,因为它可能在本地驱动。
返回一个用作监听器标识符的字符串。
参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
callback | 函数 | 是 | 将接收一个对象的回调函数,该对象具有一个设置为新值的 value 键。 |
removeListener()
removeListener(id: string);
注销监听器。id
参数应与 addListener()
之前返回的标识符匹配。
参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
id | 字符串 | 是 | 要移除的监听器的 ID。 |
removeAllListeners()
removeAllListeners();
移除所有注册的监听器。
stopAnimation()
stopAnimation(callback?: (value: number) => void);
停止任何正在运行的动画或跟踪。停止动画后,callback
会使用最终值调用,这对于更新状态以使布局与动画位置匹配很有用。
参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
callback | 函数 | 否 | 将接收最终值的函数。 |
resetAnimation()
resetAnimation(callback?: (value: number) => void);
停止任何动画并将值重置为其原始值。
参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
callback | 函数 | 否 | 将接收原始值的函数。 |
interpolate()
interpolate(config: InterpolationConfigType);
在更新属性之前插值该值,例如,将 0-1 映射到 0-10。
请参阅 AnimatedInterpolation.js
参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
config | 对象 | 是 | 见下文。 |
config
对象由以下键组成
inputRange
:数字数组outputRange
:数字或字符串数组easing
(可选):一个函数,给定一个输入数字,返回一个数字extrapolate
(可选):一个字符串,例如“extend”、“identity”或“clamp”extrapolateLeft
(可选):一个字符串,例如“extend”、“identity”或“clamp”extrapolateRight
(可选):一个字符串,例如“extend”、“identity”或“clamp”
animate()
animate(animation, callback);
通常仅在内部使用,但可以由自定义动画类使用。
参数
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
animation | 动画 | 是 | 请参阅 Animation.js 。 |
callback | 函数 | 是 | 回调函数。 |