ビューアニメーションを介してプロパティアニメーションをいじり始めています。ビューをスケーリングし、他の方法で邪魔にならないようにする必要があるためです。いくつかの例を見てきましたが、これらのクラスを使用して変更できるプロパティのリストを提供する場所がどこにあるのか疑問に思っています。たとえば、次を使用してクイックローテーションを行う1つのチュートリアルを見ました。
ObjectAnimator.ofFloat(aniView, "rotation", 360)
これは非常にクールですが、その正確なチュートリアルでない限り、回転プロパティはわかりませんでしたが、何ができるのか包括的なリストはありますか?アニメーション化する特定のプロパティは、LinearLayout内のビューの重みです(特にアドバイスがある場合)。
決して遅くない方が良いので、ここにObjectAnimatorでアニメーション化できるプロパティの包括的なリストを示します。
http://developer.Android.com/guide/topics/graphics/prop-animation.html#views
Docs は、命名規則に従う限り、ObjectAnimator
で任意の値を使用できることを意味します。
- アニメーション化するオブジェクトプロパティには、
set<propertyName>()
の形式のセッター関数(キャメルの場合)が必要です。 ObjectAnimatorはアニメーション中にプロパティを自動的に更新するため、このセッターメソッドを使用してプロパティにアクセスできる必要があります。たとえば、プロパティ名がfoo
の場合、setFoo()
メソッドが必要です。このセッターメソッドが存在しない場合、3つのオプションがあります。
- 権限がある場合は、クラスにセッターメソッドを追加します。
- 変更する権限があるラッパークラスを使用し、そのラッパーが有効なセッターメソッドで値を受け取り、元のオブジェクトに転送するようにします。
- 代わりにValueAnimatorを使用してください。
- [...]
あなたの質問に関して、 View
にはメソッドsetRotation(float)
があります。これは使用できるヒントを提供します。特に、特定の TimeInterpolator
を使用して行う方法は次のとおりです。
ObjectAnimator anim = ObjectAnimator.ofFloat(myView, "rotation", 0f, 90f);
anim.setDuration(2000); // Duration in milliseconds
anim.setInterpolator(timeInterpolator); // E.g. Linear, Accelerate, Decelerate
anim.start() // Begin the animation
ObjectAnimator
の期待に関する詳細については、ドキュメントをご覧ください。
「translateX」または「transalteY」を使用して、<group>
vectorDrawable を見てください