react-native 动画的简单使用

import { Animated, StyleSheet, Text, View } from "react-native";
import React, { useEffect, useState } from "react";


let translateX;
let width = null
let tranx = null
export default function TestCom() {

  // const [widthAni,setWidthAni] = useState(new Animated.Value(0))

  // let translateY

  const animation = new Animated.Value(0);
  

  Animated.timing(animation, {
    toValue: 1,
    duration: 1000,
    useNativeDriver: false,
  }).start();

  width = animation.interpolate({
    inputRange:[0,1],
    
    outputRange:[260,60]
  })

  tranx = animation.interpolate({
    inputRange:[0,1],
    
    outputRange:[20,260]
  })




  useEffect(() => {
    // initAni()

  }, []);

  return (
    <View>
      <Text>Test</Text>

      <Animated.View style={[styles.box,{ transform: [{translateX:tranx}], width }]}></Animated.View>


    </View>
  );
}

const styles = StyleSheet.create({

  box: {
    height: 60,
    borderRadius: 30,
    backgroundColor: "#deb",
    marginTop: 50,
  },
});

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在React Native中实现动画放大,可以使用Animated API。具体步骤如下: 1. 导入Animated API和需要使用的组件,例如Image。 2. 创建一个新的Animated.Value,用于存储动画的值。 3. 在组件的样式中使用Animated.Value作为transform属性的scale值。 4. 创建一个动画函数,使用Animated.timing()方法来控制动画的时间和值。 5. 在需要触发动画的事件中调用动画函数。 下面是一个简单的例子,演示如何在React Native中实现动画放大: ```javascript import React, { Component } from 'react'; import { View, Image, Animated } from 'react-native'; export default class App extends Component { constructor(props) { super(props); this.state = { scaleValue: new Animated.Value(1), }; } handlePress = () => { Animated.timing(this.state.scaleValue, { toValue: 2, duration: 1000, useNativeDriver: true, }).start(); }; render() { const { scaleValue } = this.state; return ( <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}> <Animated.Image source={{ uri: 'https://picsum.photos/200/300' }} style={{ width: 200, height: 300, transform: [{ scale: scaleValue }] }} /> </View> ); } } ``` 在上面的例子中,我们创建了一个新的Animated.Value,命名为scaleValue,并将其初始值设置为1。在组件的样式中,我们使用了Animated.Value作为transform属性的scale值,这样就可以通过改变scaleValue的值来实现动画放大。在handlePress函数中,我们使用Animated.timing()方法来控制动画的时间和值,当触发事件时,调用动画函数即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值