Javascript 如何使用React Native和onPress制作简单动画?
我正在用RN做一个简单的游戏,只想知道如何在我点击一个物体后使它平滑地消失?我对钩子非常熟悉,我想知道如何在不使用太多this或类或其他东西的情况下使它尽可能简单。Javascript 如何使用React Native和onPress制作简单动画?,javascript,react-native,Javascript,React Native,我正在用RN做一个简单的游戏,只想知道如何在我点击一个物体后使它平滑地消失?我对钩子非常熟悉,我想知道如何在不使用太多this或类或其他东西的情况下使它尽可能简单。 请帮帮我,我会非常感激的!: 动画方法将参数作为值,并将这些值转换为动画值,然后我们可以使用这些值为组件制作动画, ****代码**** <View style={styles.container}> <TouchableOpacity style={styles.btn} onPre
请帮帮我,我会非常感激的!: 动画方法将参数作为值,并将这些值转换为动画值,然后我们可以使用这些值为组件制作动画, ****代码****
<View style={styles.container}>
<TouchableOpacity style={styles.btn} onPress={() =>this._start()}>
<Text style={styles.textBtn}>Start</Text>
</TouchableOpacity>
<Animated.View
style={{
opacity: this.state.fadeValue,
height: 250,
width: 200,
margin: 5,
borderRadius: 12,
backgroundColor: "#347a2a",
justifyContent: "center"
}}
>
<Text style={styles.text}>Fade </Text>
</Animated.View>
</View>
动画方法将参数作为值,并将这些值转换为动画值,然后我们可以使用这些值为组件设置动画, ****代码****
<View style={styles.container}>
<TouchableOpacity style={styles.btn} onPress={() =>this._start()}>
<Text style={styles.textBtn}>Start</Text>
</TouchableOpacity>
<Animated.View
style={{
opacity: this.state.fadeValue,
height: 250,
width: 200,
margin: 5,
borderRadius: 12,
backgroundColor: "#347a2a",
justifyContent: "center"
}}
>
<Text style={styles.text}>Fade </Text>
</Animated.View>
</View>
您可以尝试使用react本机动画库
一种解决方案:
<TouchableOpacity onPress={() => this.setState({opacity:0})}>
<Animatable.Text transition="opacity" style={{fontSize: this.state. opacity }}>Size me up, Scotty</Animatable.Text>
</TouchableOpacity>
第二种解决方案
import * as Animatable from 'react-native-animatable';
class ExampleView extends Component {
handleTextRef = ref => this.text = ref;
render() {
return (
<TouchableWithoutFeedback onPress={() => this.text.transitionTo({ opacity: 0.2 })}>
<Animatable.Text ref={this.handleTextRef}>Fade me!</Animatable.Text>
</TouchableWithoutFeedback>
);
}
}
它有许多配置,有关更多详细信息,您可以阅读官方的您可以尝试使用react native animatable library
一种解决方案:
<TouchableOpacity onPress={() => this.setState({opacity:0})}>
<Animatable.Text transition="opacity" style={{fontSize: this.state. opacity }}>Size me up, Scotty</Animatable.Text>
</TouchableOpacity>
第二种解决方案
import * as Animatable from 'react-native-animatable';
class ExampleView extends Component {
handleTextRef = ref => this.text = ref;
render() {
return (
<TouchableWithoutFeedback onPress={() => this.text.transitionTo({ opacity: 0.2 })}>
<Animatable.Text ref={this.handleTextRef}>Fade me!</Animatable.Text>
</TouchableWithoutFeedback>
);
}
}
它有许多配置,有关更多详细信息,您可以阅读官方谢谢!我刚在动画文档上读到它,真是太棒了!我猜这是一个很小的问题,但我的另一个形象的一小部分。动画效果非常好,但在第一次渲染时,可设置动画的块不会立即渲染,而是在大约1秒后渲染,这使得猜测图像毫无用处,因为图像的一半已经显示给播放器。我想知道如何延迟该可动画块的渲染,直到完全加载,然后才显示在屏幕上,而不是在0.5s后显示并显示部分图像。我知道您想在视图渲染完成后启动动画,可以将其用作第二个解决方案,在componDidMount中启动动画。如果您想延迟动画,可以使用dealy propsThanks!事实上,我现在使用了动画与挂钩,它的工作!这太棒了谢谢你,伙计!我刚在动画文档上读到它,真是太棒了!但我还有一个小问题:我正在制作一个游戏,玩家必须通过打开图像的一小部分来猜测图像。动画效果非常好,但在第一次渲染时,可设置动画的块不会立即渲染,而是在大约1秒后渲染,这使得猜测图像毫无用处,因为图像的一半已经显示给播放器。我想知道如何延迟该可动画块的渲染,直到完全加载,然后才显示在屏幕上,而不是在0.5s后显示并显示部分图像。我知道您想在视图渲染完成后启动动画,可以将其用作第二个解决方案,在componDidMount中启动动画。如果您想延迟动画,可以使用dealy propsThanks!事实上,我现在使用了动画与挂钩,它的工作!这太棒了欢迎我的朋友欢迎我的朋友