OKAY I'm saddened no one could help me with this but after a month of hapless searching and digging I found a way to do it.
I figured out how to use Animationlistener properly, I've yet to figure out how to start animationlistener initially so I just used a dummy animation to get the loop started which only lasts one millisecond off screen.
I also added in little transition animations so that each new underlapping image shows up at the same time the overlapping image moves off screen instead of having it appear after its completely moved off screen :-)
ImageView image0 = (ImageView) findViewById(R.id.splashimage)
ImageView image1 = (ImageView) findViewById(R.id.nescontroller);
ImageView image2 = (ImageView) findViewById(R.id.segacontroller);
ImageView image3 = (ImageView) findViewById(R.id.pscontroller);
anim0 = new TranslateAnimation(400.0f, 400.0f, 0.0f, 0.0f);
anim0.setDuration(1);
img0.startAnimation(anim0);
anim1 = new TranslateAnimation(0.0f, 400.0f, 0.0f, 0.0f);
anim1.setStartOffset(2000);
anim1.setDuration(2000);
anim1.setFillAfter(true);
anim2 = new TranslateAnimation(0.0f, 400.0f, 0.0f, 0.0f);
anim2.setStartOffset(2000);
anim2.setDuration(2000);
anim2.setFillAfter(true);
anim3 = new TranslateAnimation(0.0f, 400.0f, 0.0f, 0.0f);
anim3.setStartOffset(2000);
anim3.setDuration(2000);
anim3.setFillAfter(true);
stationary1 = new TranslateAnimation(0.0f, 0.0f, 0.0f, 0.0f);
stationary1.setDuration(4000);
stationary1.setFillAfter(true);
stationary2 = new TranslateAnimation(0.0f, 0.0f, 0.0f, 0.0f);
stationary2.setDuration(4000);
stationary2.setFillAfter(true);
stationary3 = new TranslateAnimation(0.0f, 0.0f, 0.0f, 0.0f);
stationary3.setDuration(4000);
stationary3.setFillAfter(true);
anim0.setAnimationListener (new AnimationListener() {
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
img1.startAnimation(anim1);
img2.startAnimation(stationary1);
}
});
anim1.setAnimationListener (new AnimationListener() {
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
img2.startAnimation(anim2);
img3.startAnimation(stationary2);
}
});
anim2.setAnimationListener(new AnimationListener() {
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
img3.startAnimation(anim3);
img1.startAnimation(stationary3);
}
});
anim3.setAnimationListener(new AnimationListener() {
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
img1.startAnimation(anim1);
img2.startAnimation(stationary1);
}
});