simple_animations 0.0.9

  • README.md
  • CHANGELOG.md
  • Example
  • Installing
  • Versions
  • 91

Simple Animations #

Build status Pub

Simple Animations is a package for Flutter to boost your animation productivity by simplifying the way to create animations.

Project goal #

Flutter has a strong and flexible foundation of animation capabilities.

But even small animations feel verbose and blow up your code base. Animations are one of the most desired aspects of Flutter, while being difficult to master.

Simple Animation's goal is to solve this issue, by

  • simplifying the way to creates custom animations,
  • softly dipping developers into the animation topic,
  • offering a lot of documentation and examples.

Getting started #

There are multiple ways to get started:

Example #

This custom animation seems simple but it's rather complex:

hello-flutter-example

It's combining a staggered animation sequence with an enduring animation:

  • At the beginning it animates the height of a box. After that it increases the width.
  • While increasing the width a typewriter-like animated underscore appears and persists.
  • Shortly before the width reaches it's final size, it starts to type-write a text.

With traditonal Flutter animation classes this will end in a huge StatefulWidget with multiple AnimationController, Tweens and all that initState and onDispose overhead.

With simple_animation you can do it stateless just by using some fancy ControlledAnimation widgets.

The whole animation just takes about 60 lines of code while maintaining readability. (You can find the source code here. I only counted the lines that are responsible for the animation.)

[0.0.x] - 2019/03/30

  • Setting up project

example/main.dart

// "This is just one possibility what
//     you can do with simple_animations!"
//
// Documentation:
//   https://github.com/felixblaschke/simple_animations/tree/master/documentation
//
// Example App:
//   https://github.com/felixblaschke/simple_animations_example_app
//

import 'dart:math';
import 'package:flutter/material.dart';
import 'package:simple_animations/simple_animations.dart';

void main() => runApp(Example());

class Example extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: SafeArea(child: Center(child: buildAnimation())),
      ),
    );
  }

  final tween = MultiTrackTween([
    Track("size").add(Duration(seconds: 4), Tween(begin: 0.0, end: 150.0)),
    Track("color")
        .add(Duration(seconds: 2),
            ColorTween(begin: Colors.red, end: Colors.blue),
            curve: Curves.easeIn)
        .add(Duration(seconds: 2),
            ColorTween(begin: Colors.blue, end: Colors.green),
            curve: Curves.easeOut),
    Track("rotation").add(Duration(seconds: 1), ConstantTween(0.0)).add(
        Duration(seconds: 3), Tween(begin: 0.0, end: pi / 2),
        curve: Curves.easeOutSine)
  ]);

  Widget buildAnimation() {
    return ControlledAnimation(
      playback: Playback.MIRROR,
      duration: tween.duration,
      tween: tween,
      builder: (context, animation) {
        return Transform.rotate(
          angle: animation["rotation"],
          child: Container(
            width: animation["size"],
            height: animation["size"],
            color: animation["color"],
          ),
        );
      },
    );
  }
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  simple_animations: ^0.0.9

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:simple_animations/simple_animations.dart';
  
Version Uploaded Documentation Archive
1.3.0 May 18, 2019 Go to the documentation of simple_animations 1.3.0 Download simple_animations 1.3.0 archive
1.2.0 May 4, 2019 Go to the documentation of simple_animations 1.2.0 Download simple_animations 1.2.0 archive
1.1.1 May 1, 2019 Go to the documentation of simple_animations 1.1.1 Download simple_animations 1.1.1 archive
1.1.0 Apr 15, 2019 Go to the documentation of simple_animations 1.1.0 Download simple_animations 1.1.0 archive
1.0.0 Apr 7, 2019 Go to the documentation of simple_animations 1.0.0 Download simple_animations 1.0.0 archive
0.0.10 Apr 7, 2019 Go to the documentation of simple_animations 0.0.10 Download simple_animations 0.0.10 archive
0.0.9 Apr 7, 2019 Go to the documentation of simple_animations 0.0.9 Download simple_animations 0.0.9 archive
0.0.8 Apr 6, 2019 Go to the documentation of simple_animations 0.0.8 Download simple_animations 0.0.8 archive
0.0.7 Apr 5, 2019 Go to the documentation of simple_animations 0.0.7 Download simple_animations 0.0.7 archive
0.0.6 Apr 5, 2019 Go to the documentation of simple_animations 0.0.6 Download simple_animations 0.0.6 archive

All 15 versions...

Popularity:
Describes how popular the package is relative to other packages. [more]
86
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
90
Overall:
Weighted score of the above. [more]
91
Learn more about scoring.

We analyzed this package on May 8, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.3.0
  • pana: 0.12.15
  • Flutter: 1.5.8

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Maintenance suggestions

Package is pre-v0.1 release. (-10 points)

While nothing is inherently wrong with versions of 0.0.*, it might mean that the author is still experimenting with the general direction of the API.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.11
meta 1.1.6 1.1.7
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test