Как я понимаю, если вы хотите, чтобы все изображения были в одном и том же виде, вам нужно использовать AnimationDrawable Если вы хотите, чтобы каждое изображение отображалось в соответствующем ImageView, вы можете реализовать Runnable и его метод запуска set imageview1.setImage (null);и imageview2.setImage (что бы вы ни хотели) и каждый раз изменяйте ImageView, который вы устанавливаете, в соответствии с вашими желаниями.В конце метода run вы должны использовать метод handler.postAtTime (), чтобы снова запустить runnable в следующий раз, когда вы захотите.примечание: обработчик создается в вашей деятельности и передается в исполняемый файл в конструкторе или как вам угодно.Я надеюсь, что это было ясно.если нет, пожалуйста, дайте мне знать.
edit1Чтобы сделать несколько изображений в режиме анимирования, вы должны реализовать Runnable следующим образом
import android.app.Activity;
import android.os.Handler;
import android.os.SystemClock;
import android.widget.ImageView;
public class Animator implements Runnable {
// handler to register the runnable
private Handler handler;
private Activity activity;
// to know the current imageView that we will assign the current image to
private int next_image_view;
public Animator(Handler handler, Activity activity) {
this.handler = handler;
this.activity = activity;
next_image_view = 0;
}
@Override
public void run() {
ImageView first = null;
ImageView second = null;
switch (next_image_view) {
case 0:
first = (ImageView) activity.findViewById(R.id.imageView1);
second = (ImageView) activity.findViewById(R.id.imageView2);
break;
case 1:
first = (ImageView) activity.findViewById(R.id.imageView2);
second = (ImageView) activity.findViewById(R.id.imageView3);
break;
case 2:
first = (ImageView) activity.findViewById(R.id.imageView3);
second = (ImageView) activity.findViewById(R.id.imageView4);
break;
case 3:
first = (ImageView) activity.findViewById(R.id.imageView4);
second = (ImageView) activity.findViewById(R.id.imageView5);
break;
case 4:
first = (ImageView) activity.findViewById(R.id.imageView5);
second = (ImageView) activity.findViewById(R.id.imageView6);
break;
case 5:
first = (ImageView) activity.findViewById(R.id.imageView6);
second = (ImageView) activity.findViewById(R.id.imageView1);
break;
default:
break;
}
if (first != null && second != null) {
first.setBackgroundResource(0);
second.setBackgroundResource(R.drawable.icon);
}
next_image_view++;
if (next_image_view == 6) {
// to start from the beginning again
next_image_view = 0;
}
// here we post this runnable to be running again after 1 sec = 1000 MS
handler.postAtTime(this, SystemClock.uptimeMillis() + 1000);
}
}
и TestActivity следующим образом
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.SystemClock;
import android.widget.ImageView;</p>
<p>public class TestActivity extends Activity{</p>
<pre><code>private Animator animator;
private Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.animation_layout);
ImageView view = (ImageView) findViewById(R.id.imageView1);
view.setBackgroundResource(R.drawable.icon);
handler = new Handler();
animator = new Animator(handler, this);
handler.postAtTime(animator, SystemClock.uptimeMillis() + 1000);
}
}
Ваш XML-файл должен содержать что-то с 6 изображениями с соответствующими именами.