The following code shows how to Create ScaleAnimation.
Main layout xml file
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageView android:id="@+id/flip_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" /> </RelativeLayout>
Main Activity Java code
package com.java2s.myapplication3.app; /* www . j av a2 s. c o m*/ import android.app.Activity; import android.os.Bundle; import android.view.MotionEvent; import android.view.animation.Animation; import android.view.animation.ScaleAnimation; import android.widget.ImageView; public class MainActivity extends Activity { boolean isHeads; ScaleAnimation shrink, grow; ImageView flipImage; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); flipImage = (ImageView)findViewById(R.id.flip_image); flipImage.setImageResource(R.drawable.ic_launcher); isHeads = true; shrink = new ScaleAnimation(.3f, 0.4f, 1.0f, 1.0f, ScaleAnimation.RELATIVE_TO_SELF, 0.5f, ScaleAnimation.RELATIVE_TO_SELF, 0.5f); shrink.setDuration(150); shrink.setAnimationListener(new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) {} @Override public void onAnimationRepeat(Animation animation) {} @Override public void onAnimationEnd(Animation animation) { isHeads = false; flipImage.setImageResource(R.drawable.ic_launcher); flipImage.startAnimation(grow); } }); grow = new ScaleAnimation(0.0f, 1.0f, 1.0f, 1.0f, ScaleAnimation.RELATIVE_TO_SELF, 0.5f, ScaleAnimation.RELATIVE_TO_SELF, 0.5f); grow.setDuration(150); } @Override public boolean onTouchEvent(MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN) { flipImage.startAnimation(shrink); return true; } return super.onTouchEvent(event); } }