Monday, 3 December 2012

Translate Animation


     Translate Animation is used to move one object from one position to another position.

Signature is

public TranslateAnimation (float fromXDelta, float toXDelta, float fromYDelta,
float toYDelta)
      

The coding for set animation for particular object is including 4 steps.

  1. Have to configure our object. If it is imageview means
         
ImageView img = (ImageView) findViewById(R.id.image);

  2. Create animation.


TranslateAnimation moveLefttoRight = new TranslateAnimation(-1000, 0, 0, 0);
  3. Then most important we should set time delay for that animation. Otherwise we cant get animation feel.
moveLefttoRight.setDuration(2000);
  4. Set this animation to our object
img.startAnimation(moveLefttoRight);
  Full coding for set animation for a object is
ImageView img = (ImageView) findViewById(R.id.player1image);

TranslateAnimation moveLefttoRight = new TranslateAnimation(-1000, 0, 0, 0);  
moveLefttoRight.setDuration(2000);
moveLefttoRight.setFillAfter(true);
         
img.startAnimation(moveLefttoRight);
main.xml


    

    
AnimActivity.java
package com.android.anim;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.TranslateAnimation;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class ExActivity extends Activity {
 /** Called when the activity is first created. */
 int count = 0;
 String str1;
 ImageView img;

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

  Button b1 = (Button) findViewById(R.id.button1);
  final TextView tv1 = (TextView) findViewById(R.id.textview1);
  img = (ImageView) findViewById(R.id.player1image);

  final TranslateAnimation moveLefttoRight = new TranslateAnimation(
    -1000, 0, 0, 0);
  // moveLefttoRight.setInterpolator(new AccelerateInterpolator());
  moveLefttoRight.setDuration(2000);
  moveLefttoRight.setFillAfter(true);

  final TranslateAnimation moveLefttoRight1 = new TranslateAnimation(0,
    1000, 0, 0);
  // moveLefttoRight.setInterpolator(new AccelerateInterpolator());
  moveLefttoRight1.setDuration(2000);
  moveLefttoRight1.setFillAfter(true);

  img.startAnimation(moveLefttoRight);

  b1.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub

    count++;
    Toast.makeText(getApplicationContext(), "Welcome",
      Toast.LENGTH_SHORT).show();
    str1 = "Button Pressed : " + count + " times.";
    tv1.setText(str1);    
    Log.i("count/2 is ", ""+count/2);
    if (count % 2 == 0)
     img.startAnimation(moveLefttoRight1);
    else
     img.startAnimation(moveLefttoRight);
   }
  });
 }
}


Run Project and feel the output.



Thank You