Перевод (анимация) нескольких изображений с задержкой на Android

Я хочу сделать выделение изображений (заставляя их перемещаться справа налево с пустым пространством между ними). Я попытался сделать несколько анимаций с разными начальными точками, поскольку я учил, что это может сработать (но это не только анимация одного изображения).

Вот мой код:

ImageView img_animation = (ImageView) findViewById(R.id.imageView1);
ImageView img_animation2 = (ImageView) findViewById(R.id.imageView2);
ImageView img_animation3 = (ImageView) findViewById(R.id.imageView3);

img_animation.setImageResource(R.drawable.num1);
img_animation2.setImageResource(R.drawable.num2);
img_animation2.setImageResource(R.drawable.num3);

 TranslateAnimation animation = new TranslateAnimation(50.0f, -300.0f,
 0.0f, 0.0f); 
 animation.setDuration(20000); 
 animation.setRepeatCount(10);

 TranslateAnimation animation2 = new TranslateAnimation(100.0f, -300.0f,
 0.0f, 0.0f); 
 animation.setDuration(20000); 
 animation.setRepeatCount(10); 

 TranslateAnimation animation3 = new TranslateAnimation(150.0f, -300.0f,
 0.0f, 0.0f); 
 animation.setDuration(20000); 
 animation.setRepeatCount(10); 

 img_animation.startAnimation(animation); 
 img_animation2.startAnimation(animation2);
 img_animation3.startAnimation(animation3);

Следующее, что мне пришло в голову, - это использовать Threads, но если я прав, может работать только одна анимация. Я также учил делать один образ из этих трех (но на белом фоне я хочу, чтобы он был прозрачным). Любая помощь приветствуется.

Редактировать: Пробовал также

animation.setStartOffset(1000);

Только первый начинается

1 ответ

Вы используете ту же переменную анимации. Попробуйте следующее:

TranslateAnimation animation = new TranslateAnimation(50.0f, -300.0f,
 0.0f, 0.0f); 
 animation.setDuration(20000); 
 animation.setRepeatCount(10);

 TranslateAnimation animation2 = new TranslateAnimation(100.0f, -300.0f,
 0.0f, 0.0f); 
 animation2.setDuration(20000); 
 animation2.setRepeatCount(10); 

 TranslateAnimation animation3 = new TranslateAnimation(150.0f, -300.0f,
 0.0f, 0.0f); 
 animation3.setDuration(20000); 
 animation3.setRepeatCount(10); 

 img_animation.startAnimation(animation); 
 img_animation2.startAnimation(animation2);
 img_animation3.startAnimation(animation3);

licensed under cc by-sa 3.0 with attribution.