All Projects → florent37 → Flutter-Anim

florent37 / Flutter-Anim

Licence: Apache-2.0 license
Fluent Flutter Animation library. Describe Sequences & Parallel animation's workflow, setup startDelay, duration and curve, then run !

Programming Languages

dart
5743 projects
ruby
36898 projects - #4 most used programming language
kotlin
9241 projects
swift
15916 projects
objective c
16641 projects - #2 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Flutter-Anim

Moto.js
A light motion library with curvilinear support.
Stars: ✭ 24 (-31.43%)
Mutual labels:  tween, curve
Pathslider
Numerical slider that follows a Bezier path
Stars: ✭ 15 (-57.14%)
Mutual labels:  curve
unity-async-tweens
Tween Extension to Unity-AsyncRoutines
Stars: ✭ 16 (-54.29%)
Mutual labels:  tween
awesome-ux-ui
A list with the bests links about UX and UI Design in pt-BR 🇧🇷 😄
Stars: ✭ 82 (+134.29%)
Mutual labels:  ux
BezierKit
Bezier curves and paths in Swift for building vector applications
Stars: ✭ 190 (+442.86%)
Mutual labels:  curve
similarity measures
Quantify the difference between two arbitrary curves in space
Stars: ✭ 140 (+300%)
Mutual labels:  curve
neodigm55
An eclectic low-code vanilla JavaScript UX micro-library for those that defiantly think for themselves.
Stars: ✭ 14 (-60%)
Mutual labels:  ux
re-gent
A Distributed Clojure agent for running remote functions
Stars: ✭ 18 (-48.57%)
Mutual labels:  curve
Bulma.io-axure
AxureRP Library with Bulma.io components
Stars: ✭ 90 (+157.14%)
Mutual labels:  ux
ui-ux
The learning guide contains the Basics, Intermediate and Advance resources for User Interface and User Experience Design
Stars: ✭ 187 (+434.29%)
Mutual labels:  ux
LimitlessUI
Awesome C# UI library that highly reduced limits of your application looks
Stars: ✭ 41 (+17.14%)
Mutual labels:  animator
CleanUI
Android library to create beautiful, clean and minimal UIs.
Stars: ✭ 19 (-45.71%)
Mutual labels:  ux
ezaction
基于cocos creator的2D动画框架。An extension animation framework for cocos creator.
Stars: ✭ 24 (-31.43%)
Mutual labels:  tween
sweetconfirm.js
👌A useful zero-dependencies, less than 434 Bytes (gzipped), pure JavaScript & CSS solution for drop an annoying pop-ups confirming the submission of form in your web apps.
Stars: ✭ 34 (-2.86%)
Mutual labels:  ux
Parallel-Tacotron2
PyTorch Implementation of Google's Parallel Tacotron 2: A Non-Autoregressive Neural TTS Model with Differentiable Duration Modeling
Stars: ✭ 149 (+325.71%)
Mutual labels:  duration
youtube-playlist-duration
A Google Chrome extension for calculating the duration of YouTube playlists.
Stars: ✭ 24 (-31.43%)
Mutual labels:  duration
blobity
The cursor is the heart of any interaction with the web. Why not take it to the next level? 🚀
Stars: ✭ 804 (+2197.14%)
Mutual labels:  ux
StockView
股票相关控件(分时图、五日分时图、自选股迷你分时图、资金趋势图、盈亏额/盈亏率)- (曲线图、折线图)
Stars: ✭ 87 (+148.57%)
Mutual labels:  curve
ossos
Webbased Character Animation System
Stars: ✭ 158 (+351.43%)
Mutual labels:  animator
theme-bulma
🎈 Customization of Oruga components with Bulma CSS framework
Stars: ✭ 88 (+151.43%)
Mutual labels:  ux

anim

Fluent Flutter Animation library. Describe Sequences & Parallel animation's workflow, setup startDelay, duration and curve, then run !

Describe the Anim

Anim contains 3 major classes : AnimValues, AnimSequentially and AnimTogether.

Animation

AnimValues(
    name:"animationName", 
    values: [value0, value1, value2, ...],
    duration: Duration(seconds: 1),
);

Animation schedulers

AnimSequentially() to play one after the other animations AnimTogether() to play in parallel animations

AnimSequentially(anims: [
    anim1, anim2, anim3
]);
AnimTogether(anims: [
    anim1, anim2, anim3
]);

Example

sample1

this.anim = Anim(
        vsync: this,
        listener: () {
          setState(() {
            /* rebuild */
          });
        },
        /* Define initial values, used when the animation has not been launched */
        initiaValues: {
          "alpha": 1,
          "size": 100,
        },
        animations: [
          AnimSequentially(
              startDelay: const Duration(milliseconds: 400),
              anims: [

                //Animate the alpha, then the size
                AnimValues(
                  name: "alpha",
                  curve: Curves.easeIn,
                  duration: const Duration(milliseconds: 800),
                  values: [1, 0.4, 0.8, 0.5],
                ),
                AnimValues(
                  name: "size",
                  curve: Curves.easeIn,
                  duration: const Duration(milliseconds: 800),
                  values: [100, 140, 80],
                ),

                //and finally animate those two values together
                AnimTogether(anims: [
                  AnimValues(
                    name: "alpha",
                    curve: Curves.easeIn,
                    duration: const Duration(milliseconds: 800),
                    values: [0.5, 1],
                  ),
                  AnimValues(
                    name: "size",
                    curve: Curves.easeIn,
                    duration: const Duration(milliseconds: 800),
                    values: [80, 100],
                  ),
                ])
              ]),
        ]);

Bind your Anim

@override
Widget build(BuildContext context) {
  return Opacity(
      opacity: this.anim["alpha"],
      child: SizedBox(
          height: this.anim["size"],
          width: this.anim["size"]
          child: _yourView(),
      ),
    );
  }
}

Flutter

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].