gpt4 book ai didi

animation - 使用新的动画 api 重复动画

转载 作者:行者123 更新时间:2023-12-03 07:52:14 25 4
gpt4 key购买 nike

React-native 引入新的 Animated API,我想制作循环动画,例如放大气泡,然后缩小并重复该过程。

但是我想不通。我试过写一些像下面这样的代码

class TestProject extends React.Component {

constructor(): void {
super();
this.state = {
bounceValue: new Animated.Value(0),
v: 1,
};
}

componentDidMount() {
this.state.bounceValue.setValue(1.5);

let animation = Animated.timing(this.state.bounceValue, {
toValue: this.state.v,
});

setInterval(() => {
animation.stop();

if (this.state.flag) {
this.state.v = 0.5;
this.state.bounceValue.setValue(0.5);
}
else {
this.state.v = 1.5;
this.state.bounceValue.setValue(1.5);
}

animation.start();
}, 5000);

}

render(): ReactElement {
return (
<View style={styles.imageContainer}>
<Image
style={styles.image}
source={{uri: 'http://image142-c.poco.cn/best_pocoers/20130517/91062013051716553599334223.jpg'}}
/>
<Animated.Text
style={[
styles.test,
{transform: [
{scale: this.state.bounceValue},
],}
]
}>
haha
</Animated.Text>
</View>
);
}

}

但效果不是很好。

任何建议将不胜感激。

最佳答案

现在有 loop animation可用的:

Animated.loop(
Animated.sequence([
Animated.timing(this.state.animatedStartValue, {
toValue: 1,
duration: 500,
delay: 1000
}),
Animated.timing(this.state.animatedStartValue, {
toValue: 0,
duration: 500
})
]),
{
iterations: 4
}
).start()

关于animation - 使用新的动画 api 重复动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31578069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com