Android AnimationにおけるScaleAnimationの使用法の包括的な解説

ScaleAnimationは、ビューを拡大縮小するアニメーションを実行するために使用される、Androidのビューアニメーションクラスです。ScaleAnimationは、ビューを拡大、縮小するなどの効果を実現できます。

ScaleAnimationのコンストラクタは、以下が最もよく使用される2種類です。

  1. ScaleAnimation(float fromX, float toX, float fromY, float toY)

このコンストラクタは、指定された開始スケール(fromX、fromY)から指定された終了スケール(toX、toY)へのScaleAnimationオブジェクトを作成するために使用されます。

  1. ScaleAnimation(float fromX, float toX, float fromY, float toY, float pivotX, float pivotY);

このコンストラクタは初期と最終のスケール比率を指定するだけでなく、スケールの基準点(pivotX, pivotY)を指定することもできます。 pivotXとpivotYの値の範囲は0〜1で、それぞれビューの幅と高さに対する比率を表します。

ScaleAnimationでは、アニメーションの動作をコントロールするための他にも重要なメソッドを提供しています。

  1. setDuration(long duration)

アニメーションの時間をミリ秒で設定します。

  1. interpolatorをセットする

アニメーションのインターポレーターを設定し、アニメーションの速度変化を制御します。Androidは、AccelerateDecelerateInterpolatorやLinearInterpolatorなどの多くの内蔵インターポレーターを提供していますが、インターポレーターをカスタマイズすることもできます。

  1. 繰り返し回数を設定(setRepeatCount(int repeatCount))

アニメーションの繰り返し回数を設定します、0 が既定で、繰り返しはありません。Animation.INFINITE に設定すると、アニメーションは無限に繰り返されます。

  1. リピートモードを設定する(int repeatMode)

アニメーションの繰り返しモードを、基準のRESTART(毎回頭から繰り返す)から、REVERSE(毎回逆再生)に変更します。

  1. 塗り潰しの前に設定 (setFillBefore(boolean fillBefore))

アニメーション終了後にアニメーションの最後のフレームの状態を保持するかどうかを設定します。 true に設定すると、アニメーション終了後のビューは最後のフレームの状態に固定されます。

  1. 後塗りを設定する

アニメーション終了後にアニメーションの最終フレームの状態を維持するか設定します。trueに設定すると、アニメーション終了後、ビューはアニメーション開始前の状態に戻ります。

ScaleAnimation を使う際は、アニメーション対象をアニメーションさせたいビューにアタッチし、startAnimation() メソッドを呼び出してアニメーションを開始する。ただし、ScaleAnimation はビューの拡大縮小のみを実施し、ビューのレイアウトパラメータは変更されない。ビューのサイズを変更する必要がある場合は、アニメーション終了後にビューの setLayoutParams() メソッドを呼び出して変更する。

ScaleAnimationを使用してビューを拡大するアニメーションを行う例を次に示します。

// 创建一个ScaleAnimation对象,将视图的宽度和高度从1倍放大到2倍
ScaleAnimation scaleAnimation = new ScaleAnimation(1f, 2f, 1f, 2f);
// 设置动画持续时间为1秒
scaleAnimation.setDuration(1000);
// 设置动画插值器为加速减速插值器
scaleAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
// 设置动画重复模式为反转
scaleAnimation.setRepeatMode(Animation.REVERSE);
// 设置动画重复次数为无限
scaleAnimation.setRepeatCount(Animation.INFINITE);
// 将动画对象附加到视图上并启动动画
view.startAnimation(scaleAnimation);

ScaleAnimationの使用方法について詳しく解説します。ScaleAnimationを使用することで、ビューの拡大縮小アニメーションエフェクトを実現できます。アニメーションのパラメータとプロパティを必要に応じて調整することで、さまざまなエフェクトを実現できます。

コメントを残す 0

Your email address will not be published. Required fields are marked *