パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v5.1.0

animate_do

Animate.cssからインスパイアされた美しいアニメーションで、外部の依存関係なしにカスタマイズ可能なウィジェットベースのアニメーションを提供します。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
9.9万
いいね数
4920
Pub ポイント
160

パッケージをインストール

flutter pub add animate_do

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

Animate_do は、Animate.css からインスパイアされた視覚的に魅力的なウィジェットベースのアニメーションを提供するFlutterパッケージです。開発者は外部の依存関係に頼ることなく、UI要素に滑らかでカスタマイズ可能なアニメーションを簡単に適用できます。シンプルなAPIと、Android、iOS、Web、macOS、Windows、Linuxを含むすべての主要プラットフォームでのサポートにより、ダイナミックな遷移を通じてユーザー体験を向上させます。このパッケージはFlutterアプリにシームレスに統合され、ウィジェットに魅力的なモーショングレーディング効果を追加するための軽量なソリューションを提供します。

用途

  • UI 要素にエントランスアニメーションを追加する
  • インタラクティブなボタンフィードバックの作成
  • ダイナミックなエフェクトでスプラッシュ画面を強化する
  • スクロール中にリストやカードをアニメーション化する
  • オンボーディング体験の改善

主な機能

  • Animate.css にインスパイアされて
  • 外部の依存関係なし
  • 完全にウィジェットベース
  • カスタマイズ可能なアニメーションの期間と遅延
  • すべての Flutter プラットフォームをサポートしています
  • 使いやすい API

適している対象

  • 簡単なアニメーションを探しているFlutter初心者
  • インタラクティブなUIを構築する開発者
  • 魅力的なオンボーディングフローを必要とするアプリ
  • 視覚的な仕上げに焦点を当てたプロジェクト
  • 軽量なアニメーションソリューションを求めるチーム

注意事項

  • 過剰に使用するとパフォーマンスに影響を与える可能性があります
  • 事前に定義されたアニメーションタイプに限定
  • 複雑なカスタムアニメーションには適していません
  • 最適なUXを得るためには慎重な調整が必要です
  • 注意を散漫にしないように、控えめに使用するべきです

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

animate_do

A Flutter animation package inspired by Animate.css, built with zero external dependencies.

Dart 3 Null Safety Platforms pub.dev

Animate_do demo animation


Getting Started

Every animation widget ships with sensible defaults and is fully customizable. Drop it around any widget and you're done.


Properties

Property Type Description
key Key Optional widget key reference
child Widget Required widget to animate
duration Duration Duration of the animation
delay Duration Delay before the animation starts
from double Initial or final value for more pronounced slide/fade effects
animate bool Toggle false → true to trigger; works with setState, Bloc, Provider, Redux, etc.
infinite bool Loops the animation indefinitely
spins double Number of rotations — applies to Spin, Roulette, SpinPerfect
manualTrigger bool Disables auto-play; requires the controller callback to drive the animation
controller Function Exposes the AnimationController for advanced control
onFinish Function Callback fired when the animation completes; receives an AnimateDoDirection (forward / backward)
curve Curve Custom easing curve

Available Animations

Fade In
FadeIn FadeInDown FadeInDownBig FadeInUp
FadeInUpBig FadeInLeft FadeInLeftBig FadeInRight
FadeInRightBig
Fade Out
FadeOut FadeOutDown FadeOutDownBig FadeOutUp
FadeOutUpBig FadeOutLeft FadeOutLeftBig FadeOutRight
FadeOutRightBig
Bounce In
BounceInDown BounceInUp BounceInLeft BounceInRight
Elastic In
ElasticIn ElasticInDown ElasticInUp ElasticInLeft
ElasticInRight
Slide In
SlideInDown SlideInUp SlideInLeft SlideInRight
Back In / Back Out
BackInDown BackInUp BackInLeft BackInRight
BackOutDown BackOutUp BackOutLeft BackOutRight
Flip In
FlipInX FlipInY
Zoom
ZoomIn ZoomOut
Attention Seekers

All attention seekers support the infinite property to loop indefinitely.

Bounce Dance Flash Pulse
Flip Roulette ShakeX ShakeY
Spin SpinPerfect Swing HeartBeat
Wobble Jello Tada RubberBand
Custom Animations

These widgets let you move widgets around the screen and chain them with any other animation.

MoveTo MoveToArc

Two Syntaxes

Both syntaxes are fully supported. Use whichever feels more natural to you.

Sugar Syntax
Row(
  mainAxisAlignment: MainAxisAlignment.spaceAround,
  children: [
    const Square().fadeInLeft(),
    const Square().fadeInUp(),
    const Square().fadeInDown(),
    const Square().fadeInRight(),
  ],
)
Class Syntax
Row(
  mainAxisAlignment: MainAxisAlignment.spaceAround,
  children: [
    FadeInLeft(child: Square()),
    FadeInUp(child: Square()),
    FadeInDown(child: Square()),
    FadeInRight(child: Square()),
  ],
)

Animation Chaining

Chain multiple animations sequentially using the sugar syntax:

Square()
  .tada()
  .wobble()
  .fadeIn()
Chaining with custom animations
const Square()
  .moveTo(top: 30)
  .moveTo(
    left: 30,
    delay: const Duration(seconds: 1),
  )
  .moveToArc(
    bottom: 30,
    right: 30,
    delay: const Duration(seconds: 2),
  )
  .fadeOut(
    delay: const Duration(seconds: 2),
  )

Triggering Animations

Toggle with animate

Set animate: true to play forward, animate: false to reverse. Works with any state management solution.

Animate_do animate property

FadeIn(animate: animate, child: const Square())
FadeInUp(animate: animate, child: const Square())
FadeInDown(animate: animate, child: const Square())
FadeInLeft(animate: animate, child: const Square())
FadeInRight(animate: animate, child: const Square())

Events — onFinish

The onFinish callback fires when an animation completes, passing an AnimateDoDirection value (forward or backward).

Sugar syntax

const Square().fadeIn(
  animate: animate,
  delay: const Duration(milliseconds: 100),
  onFinish: (direction) => print('$direction'),
),

Class syntax

FadeIn(
  animate: animate,
  delay: const Duration(milliseconds: 100),
  onFinish: (direction) => print('$direction'),
  child: const Square(),
),

Manual Trigger

Use manualTrigger: true together with the controller callback to drive the animation yourself — useful when you need full control over playback.

Note: When using manualTrigger, you are responsible for calling controller.forward() and controller.reverse() explicitly.

class _MyWidgetState extends State<MyWidget> {
  late AnimationController animateController;

  @override
  Widget build(BuildContext context) {
    return FadeInUp(
      manualTrigger: true,
      controller: (controller) => animateController = controller,
      child: YourWidget(),
    );
  }
}

Demos

Animate_do demo

Animate_do demo

Animate_do demo

Animate_do demo

For complete runnable examples, see the example folder.


If you find this package useful, consider leaving a like on pub.dev. Feedback and suggestions are always welcome.

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト