0.2.0 • Published 2 years ago

react-native-viewanim v0.2.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

React-native-viewanim

Animated view in React native without reanimated.

Animate the change of position, rotation, scale, opacity and background color of a view element with an easing feature.

Installation

npm install --save react-native-viewanim

Usage

First you have to import the ViewAnim component:

import ViewAnim from "react-native-viewanim";

Then place the ViewAnim component where you want and provide the property "from" and "to" of the animation:

  <ViewAnim from={x:0} to={x: 100} duration={1000}><Text>Just a text</Text></ViewAnim>

The full script of an exemple:

import React from 'react';
import { Text } from 'react-native';
import ViewAnim from 'react-native-viewanim';

const HelloWorldApp = () => {
  return (
    <ViewAnim
      from={x:0, rotate: 0}
      to={x: 100, rotate: 360}
      duration={2000}
      repeat={10}>
      <Text>This is animated</Text>
    </ViewAnim>
  )
}
export default HelloWorldApp;

Properties

PropertyDescriptionDefault
fromObject that contains the set of values at the start of the animation. Values can be x, y, rotate, scale, opacity, backgroundColorNull
toObject that contains the set of values at the end of the animation. Values can be x, y, rotate, scale, opacity, backgroundColorNull
durationFor how long the animation will run (milliseconds).1000
delayOptionally delay animation (milliseconds).0
repeatThe number of time the animation repeat, -1 is forever.1
easingTiming function for the animation. Custom function or one of the Easing function provided in ViewAnim.EasingViewAnim.Easing.Linear.None
styleStyle added to the viewNull
cycleIf true, animation loop from end values to start valuesfalse
triggerSwitch this boolean to true or false to trigger the naimationfalse
toggleSet to trigger on start with start or on trigger with triggerstart
resetOnStartReset values to start values when animation starttrue
resetOnStartReset values to start values when animation starttrue
frameDelayTime between updates in ms16

Easing functions:

  • ViewAnim.Easing.Linear.None
  • ViewAnim.Easing.Quadratic.In, ViewAnim.Easing.Quadratic.Out, ViewAnim.Easing.Quadratic.InOut
  • ViewAnim.Easing.Cubic.In, ViewAnim.Easing.Cubic.Out, ViewAnim.Easing.Cubic.InOut
  • ViewAnim.Easing.Quadric.In, ViewAnim.Easing.Quadric.Out, ViewAnim.Easing.Quadric.InOut
  • ViewAnim.Easing.Quintic.In, ViewAnim.Easing.Quintic.Out, ViewAnim.Easing.Quintic.InOut
  • ViewAnim.Easing.Sinusoidal.In, ViewAnim.Easing.Sinusoidal.Out, ViewAnim.Easing.Sinusoidal.InOut
  • ViewAnim.Easing.Exponential.In, ViewAnim.Easing.Exponential.Out, ViewAnim.Easing.Exponential.InOut
  • ViewAnim.Easing.Circular.In, ViewAnim.Easing.Circular.Out, ViewAnim.Easing.Circular.InOut
  • ViewAnim.Easing.Elastic.In, ViewAnim.Easing.Elastic.Out, ViewAnim.Easing.Elastic.InOut
  • ViewAnim.Easing.Back.In, ViewAnim.Easing.Back.Out, ViewAnim.Easing.Back.InOut
  • ViewAnim.Easing.Bounce.In, ViewAnim.Easing.Bounce.Out, ViewAnim.Easing.Bounce.InOut
  • ViewAnim.Easing.Vibrate.Once, ViewAnim.Easing.Vibrate.Repeat2, ViewAnim.Easing.Vibrate.Repeat3, ViewAnim.Easing.Vibrate.Repeat4, ViewAnim.Easing.Vibrate.Repeat5, ViewAnim.Easing.Vibrate.Repeat10, ViewAnim.Easing.Vibrate.Repeat15, ViewAnim.Easing.Vibrate.Repeat20, ViewAnim.Easing.Vibrate.Repeat30

Changelog

Version 0.2.0

  • Do not call stop when animation is not playing
  • When toggle = true animate from start to end, toggle = false animate from end to start
  • if initial property toggle = true, launch animation at start
  • Update to simple tween 0.3.2

TODO

  • Change property modification detection
  • Add live modification of the viewanim properties
  • Add preset animations
  • make trigger an enum type "start" / "toggle"
  • Add trigger type "none" to use only
  • Chain animations
  • Add examples with executables app files
  • write tests
    • basic example trigger = start
    • basic example trigger = toggle
    • launch animation at start if toggle = true
    • pause / resume
    • cycle
    • change to property
  • Add smooth property to soften animation