Programming Tutorials

Animation sample program in Android

By: Ashley in Android Tutorials on 2011-07-03  

This sample android program shows you how to do simple animation in Android. In this program the xml file ani.xml is used to rotate the images in sequence. The images must be copied to the /res/drawable folder together with the ani.xml file.

The FrameAnimation1.java file is as follows:

package com.javasamples.ani;

import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.View;
import android.widget.*;

public class FrameAnimation1 extends Activity {
	Button b;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		this.setupButton();
	}

	private void setupButton() {
		b = (Button) this.findViewById(R.id.startFAButtonId);
		b.setOnClickListener(new Button.OnClickListener() {
			public void onClick(View v) {
				parentButtonClicked(v);
			}
		});
	}

	private void parentButtonClicked(View v) {
		animate();
	}

	private void animate() {
		ImageView imgView = (ImageView) findViewById(R.id.animationImage);
		// imgView.setVisibility(ImageView.VISIBLE);
		imgView.setBackgroundResource(R.drawable.ani);

		AnimationDrawable frameAnimation = (AnimationDrawable) imgView
				.getBackground();

		if (frameAnimation.isRunning()) {
			frameAnimation.stop();
			b.setText("Start");
		} else {
			frameAnimation.start();
			b.setText("Stop");
		}
	}
}// eof-class

The output of this program will be as shown in the android emulator below.

The main.xml file in your res/layout folder is as follows:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView
		android:id="@+id/textViewId1"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="Animated Demo" />
	<Button
		android:id="@+id/startFAButtonId"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="Start Animation" />
	<ImageView
		android:id="@+id/animationImage"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content" />
</LinearLayout>

In addition to the main.xml, you need to create another xml file ani.xml with the following code in your res/drawable folder. In that same folder, you also need to copy your image files that you specifiy in the ani.xml

<animation-list
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:oneshot="false">
	<item
		android:drawable="@drawable/icon"
		android:duration="50" />
	<item
		android:drawable="@drawable/icon1"
		android:duration="50" />
	<item
		android:drawable="@drawable/icon2
		android:duration="50" />
</animation-list>





Add Comment

* Required information
1000

Comments

No comments yet. Be the first!

Most Viewed Articles (in Android )

Performing Streamed Install adb: failed to install app buildoutputsapkdebugapp-debug.apk: Exception occurred while executing 'install': android.os.ParcelableException: java.io.IOException: Requested internal only, but not enough space

Reading and Writing a file to SD card sample program in Android

adb.exe: no devices/emulators found

Animation sample program in Android

Is it safe to delete userdata-qemu.img userdata-qemu.img.qcow2 files

'adb' is not recognized as an internal or external command, operable program or batch file.

Android Preferences - Using Preferences in Android Tutorial

ArrayAdapter sample program in Android

Android Emulator

gradle build failed Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema

Emulator: WARNING | *** No gRPC protection active, consider launching with the -grpc-use-jwt flag.***

Getting Started with Android

Progress bar and downloading a file sample program in Android

Error generating R.java from manifest

Android Send SMS and Make a phone call in Android Application

Latest Articles (in Android)

Keep your android phone awake while debugging

compileSdkVersion vs buildToolsVersion in app/build.gradle

gradle build failed Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema

Gradle, npm, react-native - How are they related?

Emulator: glTexImage2D: got err pre :( 0x506 internal 0x8058 format 0x1908 type 0x1401

Emulator: WARNING | *** No gRPC protection active, consider launching with the -grpc-use-jwt flag.***

./gradlew assembleDebug '.' is not recognized as an internal or external command, operable program or batch file.

'adb' is not recognized as an internal or external command, operable program or batch file.

Performing Streamed Install adb: failed to install app buildoutputsapkdebugapp-debug.apk: Exception occurred while executing 'install': android.os.ParcelableException: java.io.IOException: Requested internal only, but not enough space

Is it safe to delete userdata-qemu.img userdata-qemu.img.qcow2 files

adb.exe: no devices/emulators found

How to start the Android emulator

Get Location of an android phone programmatically

Getting Started with Android

Solution to error: unable to open connection to server due to security error

Related Tutorials

Keep your android phone awake while debugging

compileSdkVersion vs buildToolsVersion in app/build.gradle

gradle build failed Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema

Gradle, npm, react-native - How are they related?

Emulator: glTexImage2D: got err pre :( 0x506 internal 0x8058 format 0x1908 type 0x1401

Emulator: WARNING | *** No gRPC protection active, consider launching with the -grpc-use-jwt flag.***

./gradlew assembleDebug '.' is not recognized as an internal or external command, operable program or batch file.

'adb' is not recognized as an internal or external command, operable program or batch file.

Performing Streamed Install adb: failed to install app buildoutputsapkdebugapp-debug.apk: Exception occurred while executing 'install': android.os.ParcelableException: java.io.IOException: Requested internal only, but not enough space

Is it safe to delete userdata-qemu.img userdata-qemu.img.qcow2 files

adb.exe: no devices/emulators found

How to start the Android emulator

Get Location of an android phone programmatically

Getting Started with Android

Solution to error: unable to open connection to server due to security error