[Android] Property Animation 画像が回転して落ちていく

Property Animaton を使って、画像を回転させながら移動、落ちていく演出を作ってみます。何かで使えそうなので。
 

Android Studio 3.0.1
Android 8.0



Property Animation

 
Animationを実現させるためには他にも方法がありますが、Property Animationは画像だけでなくObjectも扱えること。その対象物の位置の具体的な座標など(property)を毎回変更しながら動かすというところです。View  AnimationではAnimationを見せているだけでそのもののpropertyは変わっていません。
 

 

Animator クラス

  • Animator
    • Property Animationのためのスーパークラス
  •  ValueAnimator
    • Animatorを継承したクラスでanimationの中間データを計算
  • ObjectAnimator
    • ValueAnimatorを継承したクラスで対象Objectに値を設定する
  • AnimatorSet
    • Animatorを継承したクラスで、幾つかのAnimatorをグループ化できる

Objectの移動には

  • translationX, x
    • x軸方向移動
  • translationY, y
    • y軸方向移動

が使えます。他にも

  • rotation, rotationX, and rotationY
    • 2D, 3Dの回転
  • scaleX and scaleY
    • 2Dのスケーリング
  • pivotX and pivotY
    • 回転やスケーリングの起点座標を変える
  • alpha
    • 透明度の変更

などを使ってanimationすることができます。

 

Animator.AnimatorListener

 
AnimatorListenerを実装することにより、Objectのアニメーションをモニターして、開始、キャンセル、終了、コールバック状態を知ることができます。
 

 

サンプルコード

 
x, yの移動と回転animationを組み合わせた例です。

MainActivity.java

 
activity_main.xml

 
リソース
strings.xml

 

サンプル動画

 

 
 
関連ページ:

 
Reference:
Property Animation | Android Developers
PropertyValuesHolder | Android Developers