当前位置: 首页 > article >正文

ReactNative实现宽度变化实现的动画效果

效果如上图所示,通过修改设备宽度实现动画效果

import React, {useRef, useEffect, useState} from 'react';
import {Animated, Text, View, Image} from 'react-native';

const FadeInView = props => {
  const fadeAnim = useRef(new Animated.Value(0)).current;

  React.useEffect(() => {
    Animated.timing(
      fadeAnim, // 动画中的变量值
      {
        toValue: props.currentWidth, // 
        duration: props.durationTime, // 让动画持续一段时间
        //  Style property 'width' is not supported by native animated module
        useNativeDriver: false,
      },
    ).start(); // 开始执行动画
  }, [props.currentWidth]);

  return (
    <Animated.View // 使用专门的可动画化的View组件
      style={{
        ...props.style,
        width: fadeAnim, // 将宽度绑定到动画变量值
      }}>
   
    </Animated.View>
  );
};

// 然后你就可以在组件中像使用`View`那样去使用`FadeInView`了
export default props => {
  return (
    <FadeInView
      durationTime={props.durationTime}
      currentWidth={props.currentWidth}
      style={{height: 310, backgroundColor: 'pink'}}></FadeInView>
  );
};

使用的代码如下

<LayoutAnimatedWidth
      currentWidth={this.state.currentWidth}
      durationTime={this.state.durationTime}>
</LayoutAnimatedWidth>

PS:注意上面的代码和截图不一致;但是代码是可以实现上面的效果的。


http://www.kler.cn/a/228307.html

相关文章:

  • Qt基础-QMap详解
  • 随机森林超参数的网格优化(机器学习的精华--调参)
  • Linux定时器和时间管理
  • arcpy高德爬取路况信息数据json转shp
  • 关于如何将Excel转成Word,可能有一些你想知道的技巧
  • Linux内存管理:(十二)Linux 5.0内核新增的反碎片优化
  • STM32单片机的基本原理与应用(六)
  • 阿里巴巴 Java 开发手册
  • Leetcode 3031. Minimum Time to Revert Word to Initial State II
  • DBA的节前紧急任务:一份全面的数据库自救指南
  • kubeadm部署k8s集群
  • Android BitmapShader setLocalMatrix缩放Bitmap高度重新onMeasure,Kotlin
  • 【教程】微服务使用Feign接口进行远程调用的步骤
  • 【分布式】雪花算法学习笔记
  • 从零开始 TensorRT(4)命令行工具篇:trtexec 基本功能
  • react和antd学习笔记
  • STM32--揭秘中断(简易土货版)
  • Qt 范例阅读: QStateMachine状态机框架 和 SCXML 引擎简单记录(方便后续有需求能想到这两个东西)
  • k8s学习-数据管理
  • Jmeter 01 -概述线程组