Madea-K Dev

プログラムのメモや日々思ったことなど

< 35歳迄に起業し1000万円以上稼ぐ >

次の誕生日まで残りfunction Number() { [native code] }

Animation­Controller & Tween

Animation­Controller

AnimationControllerは、ハードウェアが新しいフレームの準備ができたときに新しい値を生成する特別なAnimationオブジェクトです。
デフォルトでは、AnimationControllerは、指定された期間中に0.0〜1.0の数値を線形に生成します。
たとえば、次のコードはAnimationオブジェクトを作成しますが、実行は開始しません。

AnimationControllerはAnimation から派生しているため、Animationオブジェクトが必要な場所であればどこでも使用できます。
ただし、AnimationControllerには、アニメーションを制御する追加のメソッドがあります。
たとえば、.forward()メソッドを使用してアニメーションを開始します。
数値の生成は画面の更新に関連しているため、通常は1秒あたり60個の数値が生成されます。各番号が生成された後、各Animationオブジェクトは、添付されたListenerオブジェクトを呼び出します。

Tween

デフォルトでは、AnimationControllerオブジェクトの範囲は0.0〜1.0です。
異なる範囲または異なるデータ型が必要な場合は、Tweenを使用して、異なる範囲またはデータ型に補間するアニメーションを構成できます。
たとえば、次のTweenは-200.0から0.0になります

Tweenは、開始と終了のみをとるステートレスオブジェクトです。
Tweenの唯一の仕事は、入力範囲から出力範囲へのマッピングを定義することです。
入力範囲は通常0.0〜1.0ですが、これは要件ではありません。

Tweenは、Animation ではなくAnimatable を継承します。
アニメーションのようなアニメーションは、二重に出力する必要はありません。
たとえば、ColorTweenは2色間の進行を指定します。

Tweenオブジェクトは状態を保存しません。
代わりに、マッピング関数をアニメーションの現在の値に適用するevaluate(Animation animation)メソッドを提供します。
Animationオブジェクトの現在の値は、.valueメソッドで確認できます。
評価関数は、アニメーションの値がそれぞれ0.0と1.0のときに開始と終了が返されるようにするなど、いくつかのハウスキーピングも実行します。

Tween.animate

Tweenオブジェクトを使用するには、Tweenでanimate()を呼び出し、コントローラーオブジェクトを渡します。
たとえば、次のコードは、500ミリ秒にわたって0〜255の整数値を生成します。

次の例は、コントローラー、カーブ、およびトゥイーンを示しています。

Animation notifications

Animationオブジェクトには、addListener()およびaddStatusListener()で定義されたリスナーとStatusListenerを含めることができます。
リスナーは、アニメーションの値が変更されるたびに呼び出されます。
リスナーの最も一般的な動作は、setState()を呼び出して再構築を行うことです。
AnimationListenerは、AnimationStatusの定義に従って、アニメーションの開始、終了、前方への移動、または後方への移動時に呼び出されます。

参考 : https://flutter.dev/docs/development/ui/animations/tutorial

/ Dart-Flutter

×