Android 邮递员是如何工作的?

Android 邮递员是如何工作的?,android,animation,delay,Android,Animation,Delay,我在同一位置生成了大量的imageview。现在,我想对这些图像中的每一个应用动画,但不是同时应用 假设我希望第一个图像在第0秒开始移动,然后图像2在第2秒开始移动,依此类推 我有一个数组中的图像,imb\u items[] 如果我使用这个: for(int j = 0; j < i; j++) { final int finalJ = j; new android.os.Handler().postDelayed( new Runnable() {

我在同一位置生成了大量的
imageview
。现在,我想对这些图像中的每一个应用动画,但不是同时应用

假设我希望第一个图像在第0秒开始移动,然后图像2在第2秒开始移动,依此类推

我有一个数组中的图像,
imb\u items[]

如果我使用这个:

for(int j = 0; j < i; j++) {
    final int finalJ = j;
    new android.os.Handler().postDelayed(
        new Runnable() {
            public void run() {
                imb_items[finalJ].startAnimation(translateAnim);
                Log.i("tag", "This'll run 5000 milliseconds later");
            }
        },
        5000*finalJ
    );
}
for(int j=0;j
当第二个图像开始移动时,第一个图像停止并消失


我怎样才能解决这个问题?我希望所有图像继续移动。

它不起作用,因为您试图将for循环与其他延迟执行的内容交互。它不是这样工作的

但是为什么不设置动画的开始偏移呢?

具有ImageView数组和动画数组(每个ImageView一个动画)


for(int j=0;j动画的持续时间是多少?动画有8.5秒,图像都可见,并且在同一位置。我希望它们开始依次移动,直到它们都移动8.5秒,
5000*finalJ
意味着什么?
for(int j=0; j<i;j++) {
   translateAnim[j].setStartOffset(5000*j);
   imb_items[j].startAnimation(translateAnim[j]);
}