2017-01-09 5 views
0

コードラインandroid:propertyName="scaleX"android:propertyName="alpha"に変更すると、アニメーションが機能しません!Android objectAnimator set propertyValuesHolder

コード

AnimatedVectorDrawableCompat mAnimatedVectorDrawable = AnimatedVectorDrawableCompat.create(
         getApplication(), R.drawable.v_frame_animation 
       ); 
       image.setImageDrawable(mAnimatedVectorDrawable); 
       if (mAnimatedVectorDrawable != null) { 
        mAnimatedVectorDrawable.start(); 
       } 

アニメーター/ v_frame_animation.xml

<?xml version="1.0" encoding="utf-8"?> 
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:tools="http://schemas.android.com/tools" 
     android:drawable="@drawable/gears_copy"> 
     <target 
      android:name="vaaa" 
      android:animation="@animator/heart_frame_animator" /> 
    </animated-vector> 

アニメーター/ heart_frame_animator.xml

<?xml version="1.0" encoding="utf-8"?> 
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" 
      android:duration="5000" 
      android:repeatCount="infinite" 
      android:valueType="floatType"> 
      <propertyValuesHolder 
       android:propertyName="scaleX" 
       android:valueType="floatType"> 
       <keyframe 
        android:fraction="0" 
        android:interpolator="@android:anim/accelerate_interpolator" 
        android:value="0" /> 
       <keyframe 
        android:fraction=".5" 
        android:interpolator="@android:anim/accelerate_interpolator" 
        android:value="1" /> 
       <keyframe 
        android:fraction="1" 
        android:interpolator="@android:anim/accelerate_interpolator" 
        android:value="0" /> 
      </propertyValuesHolder> 
     </objectAnimator> 
+0

"fillAlpha"プロパティ名を試すことはできますか? – GaborNovak

答えて

0

あなたがあなたのアンドロイドにフェードアニメーションを追加したい場合は、使用することができますこのXMLコード。

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
<alpha 
android:fromAlpha="0" 
android:toAlpha="1.0" 
android:duration= "2000" 
/> 
</set> 

このコードは、アルファ値を2000msで0から1.0にします。

はあなたのres /アニメーションフォルダにこれを追加し、これはそれを解決する必要があり、あなたのActivity.java

try { 
     Animation myFadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.splash); 
     splash.startAnimation(myFadeInAnimation);//splash is an ImageView 
    }catch (NullPointerException e){ 
     e.printStackTrace(); 
    } 

にこれを追加することを忘れないでください。

ハッピーコーディング。

関連する問題