What is the best way to design and embed an animation into an android app. (I'm not talking about transitions and activities in/out animations.)
I can think of 2 ways of doing it:
- designing the animation with flash or something similar, export png-sequence with transparent bgs and creating an animation from the images in an xml file (How do I write this kind of xml?)
- creating a grid of images with all the frames of the animation that I've created and save it into one image. than using something like background-position in css in order to move the visible area of the image on each frame enter (By Java code, or by xml)
which of this is better/most common? and how do I implement the solution (if there is a better solution - that would be great). and what programs do you usually use for this kind of task
(the goal is to achieve something that works like the frog in cut the rope or the birds in angry birds for example)
thanks!
I used simple animation in one project... It's on your first point... A sequence of *.png files in /res/drawable, and *.xml like:
ReplyDelete<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true">
<item android:drawable="@drawable/s250" android:duration="200" />
<item android:drawable="@drawable/s251" android:duration="200" />
<item android:drawable="@drawable/s252" android:duration="200" />
<item android:drawable="@drawable/s253" android:duration="200" />
<item android:drawable="@drawable/s254" android:duration="200" />
<item android:drawable="@drawable/s255" android:duration="200" />
<item android:drawable="@drawable/s256" android:duration="200" />
<item android:drawable="@drawable/s257" android:duration="200" />
<item android:drawable="@drawable/s258" android:duration="200" />
</animation-list>
... and source...
final ImageView pygalo = (ImageView) findViewById(R.id.imageanimation);
pygalo.setBackgroundResource(R.anim.animation);
final AnimationDrawable pygaloanimation = (AnimationDrawable) pygalo.getBackground();
pygalo.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View vp) {
pygaloanimation.stop();
pygaloanimation.start();
}
});
It is very easy to do...