React Native - 无法使用Animated.ValueXY为contentOffset(ScrollView)设置动画

时间:2016-07-30 06:37:15

标签: javascript ios animation react-native scrollview

我正在尝试使用React Native中的contentOffsetScrollView Animated.ValueXY设置动画。目前,我遇到的问题是,在调用.start()时,ScrollView没有动画,contentOffset保持在{ x: 0, y: 0 }的初始位置

在文档中,对于ValueXY,它将使用概述为:

  

2D用于驱动2D动画的值,例如平移手势

首先,使用ValueXY动画ScrollView是否合适?我的理解是,在引入此API之前,您无法为ScrollView组件设置动画,但现在可以。

如果这是正确的,这是我的用法:

this.state = {
  contentOffset: new Animated.ValueXY(), // inits to {x: 0, y: 0}
}

然后作为一个简单的例子,在componentDidMount上,.start()被调用。

Animated.timing(
  this.state.contentOffset, {
    toValue: { y: 1000, x: 0 },
    duration: 5 * 1000,
  }
).start();

最后,在render方法中:

<AnimatedScrollView
  onScroll={this.handleScroll}
  contentOffset={this.state.scroll}
  scrollEventThrottle={150}>

    <TouchableOpacity onPress={() => this.handleStartPress(false)}>
      <Text style={[styles.content, textStyles]} ref='text'>
        {content}
      </Text>
     </TouchableOpacity>

</AnimatedScrollView>

0 个答案:

没有答案