【发布时间】:2019-10-01 13:52:55
【问题描述】:
我正在尝试将球从一个位置 (x1,y1) 平移到另一个位置 (x2,y2)。 这个翻译应该在点击球后发生。
我正在使用 Animated.View 从状态变量中获取球的当前位置。在这个 Animated.View 中,我正在使用 Touchable Opacity 包裹孩子。我也在互联网上环顾四周,据我了解,这个问题与球的绝对位置有关(球的初始和最终位置作为来自父母的道具传递)
<Animated.View style={this.state.position.getLayout()}>
<TouchableOpacity onPress={()=>console.log('clicked')}>
<View>
{this.props.children}
</View>
</TouchableOpacity>
</Animated.View>
我不明白为什么 onPress 没有被触发,也想知道这个问题的解决方案。谢谢
【问题讨论】:
-
如果我在 Animated.View 之外采用可触摸的不透明度,onPress 会开始响应,但布局会受到干扰
-
请添加 this.state.position.getLayout 的返回值的样子
-
{left: AnimatedValue, top: AnimatedValue} left: AnimatedValue _animation: null _children: [] _listeners: {} _offset: 0 _startingValue: 70 _tracking: null _value: 70 __proto__: AnimatedWithChildren top: AnimatedValue _animation: null _children: [] _listeners: {} _offset: 0 _startingValue: 797.7142857142857 _tracking: null _value: 400 __proto__: AnimatedWithChildren __proto__: Object
标签: react-native touchableopacity