2012-09-22 38 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