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

Animating the border radius in React Native

我无法在 ReactNative Image 中为 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>

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

对了!删除 resizeMode 属性。这将解决您的问题