在React Native中设置边框半径的动画

时间:2017-01-18 15:04:11

标签: javascript reactjs react-native react-native-android

我无法为ReactNative图像中的borderRadius属性设置动画,它似乎只在动画完成时重新渲染图像。它在动画开始时淡出,并在动画完成时淡出。这只发生在Android上;在iOS上,动画播放正常。

我试图通过设置borderRadius的动画来设置一个扩展为正方形的圆圈的动画:

constructor(props) {
    super(props);
    this.state = {
        borderRadius: new Animated.Value(ALBUM_CIRCLE_DIAMETER /2)
    };
}

_zoomIn = () => {
    Animated.timing(
        this.state.borderRadius,
        {
            toValue: 0,
            duration: ZOOM_ANIMATION_DURATION_MS,
            easing: Easing.linear
        }
    ).start()
}

标记:

<Animated.Image
    style={[
        styles.albumArtCircle,
        { width: this.state.albumArtWidth },
        { height: this.state.albumArtHeight },
        { borderRadius: this.state.borderRadius },
    ]}
    resizeMode='contain'
    source={require('../images/sampleAlbum.jpg')}>
</Animated.Image>

2 个答案:

答案 0 :(得分:2)

右键!删除resizeMode属性。这将解决您的问题

答案 1 :(得分:0)

删除resizeMode='contain'使这项工作成功。