react-native 动画Animated,高度变化的动画

在react-native中我们使用Animated来编写动画的代码。

参考文档:react-native 动画api

在项目实践中,用到的是最简单的Animated.timing,实现view组件根据高度变化的过渡动画。

在这里插入图片描述
如图,点击收起的时候,日历高度变化,在高度变化的过程中有个动画过渡的效果。

在这里插入图片描述
同样,收起以后,再点击展开也会有一个高度变化的动画过渡效果。

以下是代码的实现

1.引入Animated

import {Animated} from ‘react-native’

2.设置日历的初始maxHeight,初始化Animated

constructor(props) {
	super(props)
	this.state = {
		calHeight: new Animated.value(500),
		calShow: true
	}
	this.fadeOutAnimated = Animated.timing(
            this.state.calHeight,{
                toValue: 160,
                duration: 150
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值