更新日:ソリューションが見つかりました!私の受け入れられた答えのためにスクロールダウン!Androids VectorDrawableアニメーションの正確な制御
1つの画像の複数の要素をアニメーション化して、ViewPagersの位置にアニメーションをリンクしたいとします(ドラッグされている現在のページに応じて、複数の要素がモーフィングまたは飛び入り/飛び出しています)。
アニメーションの現在のフレームを正確に制御する方法はありますか?たとえばのは、私はこのセットを持っていると仮定してみましょう:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<objectAnimator
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="800"
android:propertyName="scaleY"
android:valueFrom="0"
android:valueTo="1" />
<objectAnimator
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="800"
android:propertyName="scaleX"
android:valueFrom="0"
android:valueTo="1" />
<objectAnimator
android:interpolator="@android:anim/decelerate_interpolator"
android:duration="800"
android:propertyName="rotation"
android:valueFrom="0"
android:valueTo="360" />
</set>
アニメーションベクトルファイル:
ImageView mImage1 = (ImageView) findViewById(R.id.image_1);
AnimatedVectorDrawableCompat animated = (AnimatedVectorDrawableCompat) mImage1.getDrawable();
animated.start();
のようなアニメーションを制御する方法はあります:アニメーションを実行するための
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/pre_signup_1" >
<target
android:name="plus_button"
android:animation="@anim/pre_signup_1_plus_container" />
<target
android:name="plus"
android:animation="@anim/pre_signup_1_plus_sign" />
</animated-vector>
JavaコードsetCurrentDuration(400)
これはおそらくアニメーションの現在の状態を半分に設定しますか?そのベクトル描画可能オブジェクトをレイヤーに分割し、プログラムでアニメーション化する方法があるのでしょうか?前もって感謝します!
@pskinkもっとコードを追加しました。どのように 'setCurrentFraction'幅のベクトルアニメーションを使うことができますか? – Arthur