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>
List animation sample program in Android
This sample android program shows you how to do simple animation in
Android. In this program a list of items in a listview is animated to
appear by expanding to full size from the center of the screen. You can
play with the code to try different types of animation.
The
FrameAnimation1
.java file is as follows:
package com.javasamples;
import android.app.Activity;
import android.os.Bundle;
import android.widget.*;
public class LayoutAnimation2 extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setupListView();
}
private void setupListView()
{
String[] listItems = new String[]
{
"Item 1", "Item 2", "Item 3",
"Item 4", "Item 5", "Item 6",
};
ArrayAdapter listItemAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,listItems);
ListView lv = (ListView)this.findViewById(R.id.list_view_id);
lv.setAdapter(listItemAdapter);
}
}
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"?>
<!-- filename: /res/layout/list_layout.xml -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layoutAnimation="@anim/controller"
>
<ListView
android:id="@+id/list_view_id"
android:persistentDrawingCache="animation|scrolling"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
In addition to the main.xml, you need to create another xml file ani.xml with
the following code in your res/anim folder. You have to create this folder
yourself.<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<scale
android:fromXScale="0"
android:toXScale="1"
android:fromYScale="0.1"
android:toYScale="1.0"
android:duration="5000"
android:pivotX="50%"
android:pivotY="50%"
android:startOffset="1000" />
</set>
In addition to the ani.xml, you need to create another xml file
ani1.xml with
the following code in your res/anim folder.
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="5000" />
</set>
In addition to the ani.xml and ani1, you need to create another xml file
controller.xml with
the following code in your res/anim folder. You have to create this folder
yourself.
<layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
android:delay="30%"
android:animation="@anim/ani" />
thanx
ReplyDeleteThanks for helping me to understand Animation sample program in Android concepts. As a beginner in Android programming your post help me a lot.its very useful. Android Training in chennai
ReplyDelete