I made a frame animation. But the transitition between images is bad looking. How can I apply a crossfade effect to it ?
When using TransitionDrawable
i get the proper result but it stops after one execution.
Any one has an idea how to resolve it?
public void startAnimation() {
if (logoAnimation != null) {
if (logoAnimation.isRunning()) {
logoAnimation.stop();
}
logoAnimation.start();
}
}
private int setLogoAnimation(int animationID, int targetID) {
imageView = (ImageView) window.findViewById(targetID);
imageView.setImageResource(animationID);
logoAnimation = (AnimationDrawable) imageView.getDrawable();
if (imageView != null && logoAnimation != null) {
return 1;
} else {
return 0;
}
}
Than I simply run it by object.startAnimation(); I works, but the animation is ugly and I need it to be smooth.
If you want to crossfade between two pictures, why not use an AlphaAnimation which will alter the transparency of two views and will create the effect that you require.
Create two animations:
res/anim/fadeout.xml
res/anim/fadein.xml
and then override the default transition between activities:
or you can apply animations to specific widgets:
I am currently in the middle of a series on animation on my blog which may give you some further information.
By using frame animation increasing frame number can help you to get a good result. In my case the result was satisfactory on my HTC Evo.
While using tween animation you can use linear interpolator. For rotation for example
And you interpolator file content here
This is for rotation, you can see full list here.
http://developer.android.com/guide/topics/resources/animation-resource.html
or you can read a blog post that I write how to make a loading animation.
http://yekmer.posterous.com/how-to-make-a-loading-animator-in-android