2012-09-22 42 views
0

我正在製作框架以進行框架動畫。我的問題是我在anim xml中提供了大約10個可繪製的圖像。但只有前兩個和後兩個顯示不是所有的圖像。我也在這張圖片上做翻譯。翻譯後只有框架動畫開始了。翻譯正在發生,框架動畫也在發生,但它並沒有顯示所有的框架。這是我的anim xml。只顯示frog_01和frog_02。框架動畫中未顯示某些框架

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
android:oneshot="true" > 

<item 
    android:drawable="@drawable/frog_01" 
    android:duration="70"/> 
<item 
    android:drawable="@drawable/frog_02" 
    android:duration="70"/> 
<item 
    android:drawable="@drawable/frog_03" 
    android:duration="70"/> 
<item 
    android:drawable="@drawable/frog_04" 
    android:duration="70"/> 
<item 
    android:drawable="@drawable/frog_05" 
    android:duration="70"/> 
<item 
    android:drawable="@drawable/frog_04" 
    android:duration="70"/> 
<item 
    android:drawable="@drawable/frog_03" 
    android:duration="70"/> 
<item 
    android:drawable="@drawable/frog_02" 
    android:duration="70"/> 
<item 
    android:drawable="@drawable/frog_01" 
    android:duration="70"/> 

</animation-list> 

這裏是我使用的翻譯和幀動畫

public void frogAnim() { 

    frogView.clearAnimation(); 
    final TranslateAnimation fslide2 = new TranslateAnimation(10, 65, 0, 0); 
    fslide2.setDuration(400); 
    fslide2.setFillAfter(true); 
    fslide2.setAnimationListener(fanimationListener1); 
    frogView.startAnimation(fslide2); 
    c = false; 
} 


AnimationListener fanimationListener1 = new AnimationListener() { 

    public void onAnimationEnd(Animation arg0) { 
     c = true; 

     frogView.setBackgroundResource(R.drawable.frog_movement); 
     frogFrameAnimation = (AnimationDrawable) frogView.getBackground(); 
     frogFrameAnimation.start(); 
     playAudioFileListener(R.raw.frog, player); 



     CountDownTimer count = new CountDownTimer(200, 700) { 

      @Override 
      public void onTick(long millisUntilFinished) { 

      } 

      @Override 
      public void onFinish() { 
       frogFrameAnimation.stop(); 
       titileAnimMusic(R.drawable.frog_title, 
         R.anim.alpha_fade_in1, R.raw.vo_child_frog, player); 

      } 
     }; 
     count.start(); 
    } 

    public void onAnimationRepeat(Animation animation) { 
     // TODO Auto-generated method stub 
    } 

    public void onAnimationStart(Animation animation) { 
    } 
}; 

回答

1

試試吧......

img=(ImageView) findViewById(R.id.imageView1); 
    img.setBackgroundResource(R.layout.animation); 

    Animation animation =AnimationUtils.loadAnimation(this,R.anim.translate); 
    img.startAnimation(animation);//calling translate animation 

    CallDelay(1000); 

public void CallDelay(long time) 
{ 
     Handler handler = new Handler(); 
     handler.postDelayed(new Runnable() 
     {   
      public void run() 
      { 

       myanimation();  
      } 
     }, time); 
} 


public void myanimation() 
{ 
    //calling frame animation 
    AnimationDrawable anim=(AnimationDrawable) img.getBackground(); 
    anim.start(); 
} 

嘗試像這樣調用一個動畫後延遲..

+0

你試過這個....... – kavya

+0

我試了這個,仍然有問題.....請檢查我的代碼(不使用你的代碼)我已經更新了我的文章..... – Aju

+0

我找到了解決方案,我們不應該在翻譯動畫之後調用幀動畫。 .. – Aju

1

你試試這個代碼的代碼......

http://www.coderzheaven.com/2011/04/23/android-frame-animation/

== ===================

in class

final ImageView img =(ImageView) findViewById(R.id.imageView1); 
    img.setBackgroundResource(R.layout.animation); 
    img.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      AnimationDrawable anim=(AnimationDrawable) img.getBackground(); 
      anim.start(); 
     } 
    }); 

在佈局文件夾animation.xml

<animation-list android:oneshot="false" 
<item android:drawable="@drawable/animation_00031" android:duration="30"/> 
<item android:drawable="@drawable/animation_00032" android:duration="30"/> 
<item android:drawable="@drawable/animation_00033" android:duration="30"/> 
<item android:drawable="@drawable/animation_00034" android:duration="30"/> 
<item android:drawable="@drawable/animation_00035" android:duration="30"/> 
<item android:drawable="@drawable/animation_00036" android:duration="30"/> 
<item android:drawable="@drawable/animation_00037" android:duration="30"/> 
<item android:drawable="@drawable/animation_00038" android:duration="30"/> 
<item android:drawable="@drawable/animation_00039" android:duration="30"/> 
<item android:drawable="@drawable/animation_00040" android:duration="30"/> 
<item android:drawable="@drawable/animation_00041" android:duration="30"/> 
<item android:drawable="@drawable/animation_00042" android:duration="30"/> 
<item android:drawable="@drawable/animation_00043" android:duration="30"/> 
<item android:drawable="@drawable/animation_00044" android:duration="30"/> 
<item android:drawable="@drawable/animation_00045" android:duration="30"/> 
<item android:drawable="@drawable/animation_00046" android:duration="30"/> 
<item android:drawable="@drawable/animation_00047" android:duration="30"/> 
<item android:drawable="@drawable/animation_00048" android:duration="30"/> 
<item android:drawable="@drawable/animation_00049" android:duration="30"/> 
<item android:drawable="@drawable/animation_00050" android:duration="30"/> 
<item android:drawable="@drawable/animation_00051" android:duration="30"/> 
<item android:drawable="@drawable/animation_00052" android:duration="30"/> 
<item android:drawable="@drawable/animation_00053" android:duration="30"/> 
<item android:drawable="@drawable/animation_00054" android:duration="30"/> 
<item android:drawable="@drawable/animation_00055" android:duration="30"/> 
<item android:drawable="@drawable/animation_00056" android:duration="30"/> 
<item android:drawable="@drawable/animation_00057" android:duration="30"/> 
<item android:drawable="@drawable/animation_00058" android:duration="30"/> 
<item android:drawable="@drawable/animation_00059" android:duration="30"/> 
<item android:drawable="@drawable/animation_00060" android:duration="30"/> 
<item android:drawable="@drawable/animation_00061" android:duration="30"/> 
<item android:drawable="@drawable/animation_00062" android:duration="30"/> 
<item android:drawable="@drawable/animation_00063" android:duration="30"/> 

main.xml中

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    /> 

我嘗試這樣做,這是完全爲我工作...

+0

您的問題是否得到解決...... – kavya

+0

沒有....還是我有這個問題 – Aju

+0

我嘗試了上面的代碼,並可以正常使用,也試試這個 – kavya