Sequal

MainActivity.java
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
  Button btnSequential;
  @Override 
   protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   btnSequential = (Button) findViewById(R.id.idbtnSequential);
   btnSequential.setOnClickListener(new View.OnClickListener() {
    @Override 
     public void onClick(View v) {
     ImageView image = (ImageView) findViewById(R.id.idImageView);
     Animation animation = AnimationUtils.loadAnimation(getApplicationContext(), 23 R.anim.sequential);
     image.startAnimation(animation);
   }
  });
 }
}

activity_main.xml
<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/activity_main" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     tools:context=".MainActivity">
    
    <!-- TODO: Update blank fragment layout --> 
    
    <ImageView 
     android:layout_weight="4" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/idImageView" 
     android:src="@mipmap/ic_launcher"/> 
    
    <Button 
     android:layout_margin="4dp" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"
     android:id="@+id/idbtnSequential" 
     android:text="Sequential" /> 
</LinearLayout> 

sequencial.xml
<set
    xmlns:android="http://schemas.android.com/apk/res/android" 
     android:fillAfter="true"
     android:interpolator="@android:anim/linear_interpolator" > 
    <!-- Move -->  
    <translate
     android:duration="1000" 
     android:fillAfter="true"
     android:fromXDelta="0%p"
     android:toXDelta="25%p" />
    
    <translate 
     android:duration="1000"
     android:fillAfter="true"
     android:fromYDelta="0%p" 
     android:startOffset="2000" 
     android:toYDelta="25%p" />
    
    <translate 
     android:duration="1000" 
     android:fillAfter="true"
     android:fromXDelta="0%p" 
     android:startOffset="3000" 
     android:toXDelta="-25%p" />
    
    <translate 
     android:duration="1000" 
     android:fillAfter="true" 
     android:fromYDelta="0%p" 
     android:startOffset="4700" 
     android:toYDelta="-25%p" /> 
    
    <!-- Rotate 360 degrees -->  
    <rotate 
     android:duration="1000" 
     android:fromDegrees="0" 
     android:interpolator="@android:anim/cycle_interpolator"
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="5000" 
     android:repeatCount="infinite" 
     android:repeatMode="restart" 
     android:toDegrees="360" /> 
</set> 

Share this