11---
22id : animatedvaluexy
3- title : Animated .ValueXY
3+ title : 动画 .ValueXY
44---
55
6- 2D 值用于驱动 2D 动画 ,例如平移手势。与普通的[ ` Animated.Value ` ] ( animatedvalue ) 几乎相同的 API,但是可以多路复用。在内部包含两个常规的 ` Animated.Value ` 。
6+ 用于驱动 2D 动画的 2D 值 ,例如平移手势。与普通的 [ ` Animated.Value ` ] ( animatedvalue ) 几乎相同的 API,但是是多路复用的。包含两个常规的“ Animated.Value” 。
77
8- ## 示例
8+ ## 例子
99
10- ``` SnackPlayer name=Animated.ValueXY
10+ ``` SnackPlayer name=Animated.ValueXY%20Example
1111import React, {useRef} from 'react';
12- import {Animated, PanResponder, StyleSheet, View} from 'react-native';
12+ import {Animated, PanResponder, StyleSheet} from 'react-native';
13+ import {SafeAreaView, SafeAreaProvider} from 'react-native-safe-area-context';
1314
1415const DraggableView = () => {
1516 const pan = useRef(new Animated.ValueXY()).current;
@@ -32,12 +33,14 @@ const DraggableView = () => {
3233 });
3334
3435 return (
35- <View style={styles.container}>
36- <Animated.View
37- {...panResponder.panHandlers}
38- style={[pan.getLayout(), styles.box]}
39- />
40- </View>
36+ <SafeAreaProvider>
37+ <SafeAreaView style={styles.container}>
38+ <Animated.View
39+ {...panResponder.panHandlers}
40+ style={[pan.getLayout(), styles.box]}
41+ />
42+ </SafeAreaView>
43+ </SafeAreaProvider>
4144 );
4245};
4346
@@ -60,23 +63,23 @@ export default DraggableView;
6063
6164---
6265
63- # 文档
66+ # 参考
6467
65- ## 方法
68+ ## 方法
6669
6770### ` setValue() `
6871
6972``` tsx
7073setValue (value : {x: number ; y : number });
7174```
7275
73- 直接设置值。这将停止任何正在运行的动画,并更新所有绑定的属性 。
76+ 直接设定值。这将停止在该值上运行的任何动画并更新所有绑定的属性 。
7477
75- ** 参数: **
78+ ** 参数: **
7679
77- | 名称 | 类型 | 必需 | 描述 |
78- | ----- | ------------------------ | ---- | ---- |
79- | value | ` {x: number; y: number } ` | 是 | 值 |
80+ | 名称 | 类型 | 必填 | 描述 |
81+ | -----| ------------------------ | -------- | ------- ---- |
82+ | 价值 | ` {x:数字; y: 数字 } ` | 是的 | 价值 |
8083
8184---
8285
@@ -86,13 +89,13 @@ setValue(value: {x: number; y: number});
8689setOffset (offset : {x: number ; y : number });
8790```
8891
89- 设置一个偏移量,该偏移量会在已经设置的任何值( 无论是通过` setValue ` 、动画还是` Animated.event ` )之上应用。对于补偿诸如平移手势的起始位置等情况非常有用 。
92+ 设置一个偏移量,该偏移量应用于设置的任何值, 无论是通过“ setValue” 、动画还是“ Animated.event”。对于补偿诸如平移手势的开始之类的事情很有用 。
9093
91- ** 参数: **
94+ ** 参数: **
9295
93- | 名称 | 类型 | 必填 | 描述 |
94- | ------ | ------------------------ | ---- | ------ |
95- | offset | ` {x: number; y: number } ` | 是 | 偏移值 |
96+ | 名称 | 类型 | 必填 | 描述 |
97+ | ------ | ------------------------ | -------- | ------ ------ |
98+ | 偏移 | ` {x:数字; y: 数字 } ` | 是的 | 偏移值|
9699
97100---
98101
@@ -102,7 +105,7 @@ setOffset(offset: {x: number; y: number});
102105flattenOffset ();
103106```
104107
105- 将偏移值合并到基础值中,并将偏移重置为零。最终输出的数值保持不变 。
108+ 将偏移值合并到基值并将偏移重置为零。最终输出的值没有变化 。
106109
107110---
108111
@@ -112,7 +115,7 @@ flattenOffset();
112115extractOffset ();
113116```
114117
115- 将偏移值设置为基准值,并将基准值重置为零。最终输出的数值保持不变 。
118+ 将偏移值设置为基值,并将基值重置为零。最终输出的值没有变化 。
116119
117120---
118121
@@ -122,15 +125,15 @@ extractOffset();
122125addListener (callback : (value : {x: number ; y: number }) => void );
123126```
124127
125- 向值添加一个异步监听器 ,以便您可以观察动画的更新。这很有用,因为没有办法同步读取该值,因为它可能是由原生驱动的 。
128+ 向值添加异步侦听器 ,以便您可以观察动画的更新。这很有用,因为无法同步读取该值,因为它可能是本机驱动的 。
126129
127- 返回一个字符串作为监听器的标识符 。
130+ 返回一个字符串,用作侦听器的标识符 。
128131
129- ** 参数: **
132+ ** 参数: **
130133
131- | 名称 | 类型 | 必需 | 描述 |
132- | -------- | ---- | ---- | ---------- |
133- | callback | 函数 | 是 | 回调函数将 |
134+ | 名称 | 类型 | 必填 | 描述 |
135+ | -------- | -------- | -------- | ------------------------------------------------------------------------------------------------ ---------- |
136+ | 回调 | 功能 | 是的 | 回调函数将接收一个对象,该对象的“value”键设置为新值。 |
134137
135138---
136139
@@ -140,13 +143,13 @@ addListener(callback: (value: {x: number; y: number}) => void);
140143removeListener (id : string );
141144```
142145
143- 取消注册监听器。 ` id ` 参数应与先前由 ` addListener() ` 返回的标识符匹配。
146+ 取消注册侦听器。 “id”参数应与之前由“ addListener()” 返回的标识符匹配。
144147
145- ** 参数: **
148+ ** 参数: **
146149
147- | 名称 | 类型 | 必需 | 描述 |
148- | ---- | ------ | ---- | ------------------------ |
149- | id | string | 是 | 要移除的监听器的标识符 。 |
150+ | 名称 | 类型 | 必填 | 描述 |
151+ | ---- | ------ | -------- | ---------- ------------------------ |
152+ | 编号 | 字符串 | 是的 | 正在删除的侦听器的 ID 。 |
150153
151154---
152155
@@ -156,39 +159,39 @@ removeListener(id: string);
156159removeAllListeners ();
157160```
158161
159- 移除所有已注册的监听器 。
162+ 删除所有已注册的侦听器 。
160163
161164---
162165
163- ### ` stopAnimation ()`
166+ ### ` 停止动画 ()`
164167
165168``` tsx
166169stopAnimation (callback ?: (value : {x: number ; y: number }) => void );
167170```
168171
169- 停止任何正在运行的动画或跟踪。在停止动画后,将使用 ` callback ` 调用最终值,这对于更新状态以匹配布局中的动画位置非常有用 。
172+ 停止任何正在运行的动画或跟踪。停止动画后使用最终值调用“ callback”,这对于更新状态以将动画位置与布局相匹配非常有用 。
170173
171- ** 参数: **
174+ ** 参数: **
172175
173- | 名称 | 类型 | 是否必需 | 描述 |
174- | -------- | ---- | -------- | ---------------------- |
175- | callback | 函数 | 否 | 将接收到最终值的函数 。 |
176+ | 名称 | 类型 | 必填 | 描述 |
177+ | -------- | -------- | -------- | ---------------------------------- ---------------------- |
178+ | 回调 | 功能 | 没有 | 将接收最终值的函数 。 |
176179
177180---
178181
179- ### ` resetAnimation ()`
182+ ### ` 重置动画 ()`
180183
181184``` tsx
182185resetAnimation (callback ?: (value : {x: number ; y: number }) => void );
183186```
184187
185- 停止任何动画并将值重置为其原始状态 。
188+ 停止任何动画并将值重置为其原始值 。
186189
187- ** 参数: **
190+ ** 参数: **
188191
189- | 名称 | 类型 | 是否必需 | 描述 |
190- | -------- | -------- | -------- | ---------------------- |
191- | callback | function | 否 | 一个接收原始值的函数 。 |
192+ | 名称 | 类型 | 必填 | 描述 |
193+ | -------- | -------- | -------- | ------------------------------------------------ |
194+ | 回调 | 功能 | 没有 | 将接收原始值的函数 。 |
192195
193196---
194197
@@ -198,7 +201,7 @@ resetAnimation(callback?: (value: {x: number; y: number}) => void);
198201getLayout (): {left: Animated .Value , top: Animated .Value };
199202```
200203
201- 将` {x, y} ` 转换为` {left, top} ` 以在样式中使用,例如:
204+ 将 ` {x, y} ` 转换为 ` {left, top} ` 以在样式中使用,例如
202205
203206``` tsx
204207style = {this.state.anim.getLayout()}
@@ -215,7 +218,7 @@ getTranslateTransform(): [
215218];
216219```
217220
218- 将` {x, y} ` 转换为可用的平移变换,例如:
221+ 将 ` {x, y} ` 转换为可用的平移变换,例如
219222
220223``` tsx
221224style = {{
0 commit comments