woshidan's loose leaf

ぼんやり勉強しています

View AnimationとProperty Animationの違いについて

  • View Animation
    • Animationクラスのサブクラス
    • Viewの見た目の特徴のうち一つをいじるアニメーションのクラス
    • 具体例:
      • TranslateAnimation
      • ScaleAnimation
      • RotateAnimation
      • AlphaAnimation
    • 変化するのはrenderの結果だけで本当の値は変化していない(出典: https://developer.android.com/guide/topics/graphics/prop-animation.html#property-vs-view )
    • テスト用アプリでView Animationのボタンを複数押してもそれらの結果は同時に適用されない
      • それぞれのアニメーション前後でViewの状態が変化していないから、それぞれアニメーション実行前の状態から変化させた結果になる
    • ボタンを押す前後で見た目は変わってもViewのプロパティを調べるログの結果は変化しない
  • Property Animation
    • Viewに生えているメソッド
    • Viewのプロパティを変更するアニメーションのクラス
    • 具体例:
      • View.setTranslationX/Y
      • View.setScaleX/Y
      • View.setRotation, setPivotX/Y
      • View.setAlpha
    • Viewのプロパティを変更している
    • テスト用アプリでProperty Animationのボタンを複数押すとそれらの結果は同時に適用される
    • ボタンを押す前後で見た目は変わってもViewのプロパティを調べるログの結果は変化する

テスト用アプリコードはこちら View Animation vs Property Animation · GitHub

アニメーション: テスト用アプリでView Animationのボタンを複数押してもそれらの結果は同時に適用されない

アニメーション: テスト用アプリでProperty Animationのボタンを複数押すとそれらの結果は同時に適用される

参考

developer.android.com