2014-07-23 301 views
0

我是新來的android編程,我有一個簡單的問題。我有一個隨機數,nr和我在相同的位置生成這個數量的ImageViews。現在,我想對這些圖像中的每一個應用動畫,但不是在同一時間。延遲for循環安卓

比方說,我希望第一個圖像開始在第0秒移動,然後在第2秒開始移動,依此類推。

我有一個數組中的圖像imb_items []。

for(int j=0; j<nr;j++){ 
imb_items[j].startAnimation(translateAnim); 
????? how can I put here the delay? 
} 

我想了很長時間來做到這一點,但我只是不能用處理程序或線程來做...我想我不明白這個概念。 如果有人能幫助我理解並給我一個示例代碼,可以在我的具體情況下工作,我將非常感激。

謝謝!

public class MyActivity extends ActionBarActivity implements OnClickListener { 

    private TextView mCalculatorDisplay; 
    private Boolean userIsInTheMiddleOfTypingANumber = false; 
    private CalculatorBrain mCalculatorBrain; 
    private static final String DIGITS = "."; 
    DecimalFormat df = new DecimalFormat("@###########"); 
    Animation anim_translate; 
    public double valoare, produs, scor = 0; 
    int printfirst, printsecond; 
    Handler mHandler = new Handler(); 
    int[] idMultiple = new int[]{6, 5, 3, 4, 2}; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_my); 

     //Img.setVisibility(View.VISIBLE); 

     //android.view.Display display = ((android.view.WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay(); 

     Animation translateAnim = AnimationUtils.loadAnimation(MyActivity.this, R.anim.translate); 

     DisplayMetrics displaymetrics = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
     int height = displaymetrics.heightPixels; 
     int width = displaymetrics.widthPixels; 

     int dpHeight = (int)(displaymetrics.heightPixels/displaymetrics.density); 
     int dpWidth = (int)(displaymetrics.widthPixels/displaymetrics.density); 
     ImageView imb1=(ImageView)findViewById(R.id.ImageView1); 



     Toast.makeText(getApplicationContext(), "Spiridusii lui Mos Craciun pregatesc jucariile pentru copii.", 
       Toast.LENGTH_LONG).show(); 
     Toast.makeText(getApplicationContext(), "Ei au observat ca unele jucarii sunt incomplete. Ajuta-i sa comande piesele lipsa!", 
       Toast.LENGTH_LONG).show(); 



     Toast.makeText(getApplicationContext(), height+"inaltime"+width, 
       Toast.LENGTH_LONG).show(); 

     Toast.makeText(getApplicationContext(), dpHeight+"inaltime"+dpWidth, 
       Toast.LENGTH_LONG).show(); 

     RelativeLayout Layout=(RelativeLayout)findViewById(R.id.rel_banda); 

     ImageView banda=(ImageView) findViewById(R.id.banda); 


     mCalculatorBrain = new CalculatorBrain(); 
     mCalculatorDisplay = (TextView) findViewById(R.id.Raspuns_user); 

     df.setMinimumFractionDigits(0); 
     df.setMinimumIntegerDigits(1); 
     df.setMaximumIntegerDigits(2); 

     findViewById(R.id.b0).setOnClickListener(this); 
     findViewById(R.id.b1).setOnClickListener(this); 
     findViewById(R.id.b2).setOnClickListener(this); 
     findViewById(R.id.b3).setOnClickListener(this); 
     findViewById(R.id.b4).setOnClickListener(this); 
     findViewById(R.id.b5).setOnClickListener(this); 
     findViewById(R.id.b6).setOnClickListener(this); 
     findViewById(R.id.b7).setOnClickListener(this); 
     findViewById(R.id.b8).setOnClickListener(this); 
     findViewById(R.id.b9).setOnClickListener(this); 
     findViewById(R.id.buttonClear).setOnClickListener(this); 

     Runnable runnable = new Runnable() { 
      @Override 
      public void run() { 

       { 
        valoare = Double.parseDouble(String.valueOf(mCalculatorDisplay.getText())); 


        genereaza_imagini(); 


        check_answer(); 

       } 
      } 
     }; 
     mHandler.post(runnable); 


     //genereaza_imagini dinamic de la una la 9 imagini de un anumit tip 

    } 


    //max poate fi 5 sau 9 



    public void genereaza_imagini() { 


     final TextView et1, et2; 
     et1 = (TextView) findViewById(R.id.printfirst); 
     et2 = (TextView) findViewById(R.id.printsecond); 


     int nr1 = random(5); 
     printsecond = random(9); 
     printfirst = idMultiple[nr1 - 1]; 
     produs = printsecond * printfirst; 
     et1.setTextSize(13); 
     et2.setTextSize(13); 
     et1.setText("nr piese lipsa:" + printfirst); 
     et2.setText("nr jucarii:" + printsecond); 

     et1.setVisibility(View.VISIBLE); 
     et2.setVisibility(View.VISIBLE); 

     ImageView imb1 = (ImageView) findViewById(R.id.ImageView1); 
     ImageView imb2 = (ImageView) findViewById(R.id.ImageView2); 
     ImageView imb3 = (ImageView) findViewById(R.id.ImageView3); 
     ImageView imb4 = (ImageView) findViewById(R.id.ImageView4); 

     ImageView imb5 = (ImageView) findViewById(R.id.ImageView5); 
     ImageView imb6 = (ImageView) findViewById(R.id.ImageView6); 
     ImageView imb7 = (ImageView) findViewById(R.id.ImageView7); 
     ImageView imb8 = (ImageView) findViewById(R.id.ImageView8); 
     ImageView imb9 = (ImageView) findViewById(R.id.ImageView9); 
     final ImageView[] imb_items = new ImageView[]{imb1, imb2, imb3, imb4, imb5, imb6, imb7, imb8, imb9}; 


     for (int j = 0; j < 9; j++) { 

      RelativeLayout.LayoutParams lp; 
      lp = new RelativeLayout.LayoutParams(
        RelativeLayout.LayoutParams.MATCH_PARENT, 
        RelativeLayout.LayoutParams.WRAP_CONTENT); 

      DisplayMetrics displaymetrics = new DisplayMetrics(); 
      getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
      int height = displaymetrics.heightPixels; 
      int width = displaymetrics.widthPixels; 

      int dpHeight = (int) (displaymetrics.heightPixels/displaymetrics.density); 
      int dpWidth = (int) (displaymetrics.widthPixels/displaymetrics.density); 
      lp.leftMargin = dpWidth/2 - dpWidth/10; 

      lp.topMargin = dpHeight/4; 

      imb_items[j].setLayoutParams(lp); 
      imb_items[j].getLayoutParams().height = 30; 
      imb_items[j].getLayoutParams().width = 30; 


      imb_items[j].setImageResource(0); 
      imb_items[j].setVisibility(View.GONE); 
     } 

     final int i = printsecond; // cate imagini din cele 9 


     if (nr1 == 1) { 
      Toast.makeText(getApplicationContext(), "Omizilor le lipsesc 6 picioare.", 
        Toast.LENGTH_SHORT).show(); 

      for (int j = 0; j < i; j++) { 
       imb_items[j].setImageResource(R.drawable.obj1); 
       imb_items[j].setVisibility(View.VISIBLE); 


      } 
     } 

     if (nr1 == 2) { 


      Toast.makeText(getApplicationContext(), "Florilor le lipsesc 5 petale. ", 
        Toast.LENGTH_SHORT).show(); 

      for (int j = 0; j < i; j++) { 
       imb_items[j].setImageResource(R.drawable.obj2); 
       imb_items[j].setVisibility(View.VISIBLE); 


      } 
     } 


     if (nr1 == 3) { 

      Toast.makeText(getApplicationContext(), "Papusilor le lipsesc 3 nasturi. ", 
        Toast.LENGTH_SHORT).show(); 

      for (int j = 0; j < i; j++) { 
       imb_items[j].setImageResource(R.drawable.obj3); 
       imb_items[j].setVisibility(View.VISIBLE); 


      } 
     } 
     if (nr1 == 4) { 

      Toast.makeText(getApplicationContext(), "Masinilor le lipsesc 4 roti. ", 
        Toast.LENGTH_SHORT).show(); 

      for (int j = 0; j < i; j++) { 
       imb_items[j].setImageResource(R.drawable.obj4); 
       imb_items[j].setVisibility(View.VISIBLE); 


      } 
     } 
     if (nr1 == 5) { 

      Toast.makeText(getApplicationContext(), "Robotilor le lipsesc 2 antene. ", 
        Toast.LENGTH_SHORT).show(); 

      for (int j = 0; j < i; j++) { 
       imb_items[j].setImageResource(R.drawable.obj5); 
       imb_items[j].setVisibility(View.VISIBLE); 

      } 
     } 

     final Animation translateAnim = AnimationUtils.loadAnimation(MyActivity.this, R.anim.translate); 

     Thread thread = new Thread() { 
      public void run() { 
       while (true) { 
        try { 


         for(int j=0; j<i;j++){ 
          imb_items[j].startAnimation(translateAnim); ??????????????????????????????????????????? 

         Thread.sleep(2000); 
         } 


        } catch (InterruptedException e) { 
         Log.v("tag", "local Thread error"); 
        } 
       } 
      } 
     }; 
     thread.start(); 


    } 



    public int random(int max) { 
     Random r = new Random(); 
     int random = r.nextInt(max) + 1; 
     return random; 
    } 

    public void check_answer() { 

     Button b = (Button) findViewById(R.id.button); 
     b.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       valoare = Double.parseDouble(String.valueOf(mCalculatorDisplay.getText())); 
       verifica(); 

      } 

     }); 
    } 
    //functie care afiseaza la onCreate, cand apas pe buton 2: nr1, nr2, raspuns corect nr1*nr2 

    public void verifica() { 

     final TextView et1, et2; 
     et1 = (TextView) findViewById(R.id.printfirst); 
     et2 = (TextView) findViewById(R.id.printsecond); 
     TextView Scor = (TextView) findViewById(R.id.Scorul); 
     if (produs == valoare) { 
      Toast.makeText(getApplicationContext(), "Raspunsul este corect! :)", 
        Toast.LENGTH_SHORT).show(); 

      Log.v("Produsul este corect=", String.valueOf(produs)); 

      scor = scor + 50; 

      Scor.setText("Scor:" + scor); 
     } else { 
      Toast.makeText(getApplicationContext(), "Raspunsul este gresit! :(", 
        Toast.LENGTH_SHORT).show(); 

      Log.v("Produsul nu este corect=", String.valueOf(produs)); 
      scor = scor - 50; 
      Scor.setText("Scor:" + scor); 
     } 


// ca sa actualizeze automat text view-ul raspuns user la 0.0 

     if (userIsInTheMiddleOfTypingANumber) { 

      mCalculatorBrain.setOperand(Double.parseDouble(mCalculatorDisplay.getText().toString())); 
      userIsInTheMiddleOfTypingANumber = false; 
     } 

     mCalculatorBrain.performOperation("C"); 
     mCalculatorDisplay.setText(df.format(mCalculatorBrain.getResult())); 

     genereaza_imagini(); 

    } 


    // mCalculatorDisplay.setText(df.format(mCalculatorBrain.getResult())); 
    // } 


    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 

     getMenuInflater().inflate(R.menu.my, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 

     int id = item.getItemId(); 
     if (id == R.id.action_settings) { 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 



    @Override 
    public void onClick(View v) { 

     String buttonPressed = ((Button) v).getText().toString(); 

     if (DIGITS.contains(buttonPressed)) { 

      // digit was pressed 
      if (userIsInTheMiddleOfTypingANumber) { 

       if (buttonPressed.equals(".") && mCalculatorDisplay.getText().toString().contains(".")) { 
        // ERROR PREVENTION 
        // Eliminate entering multiple decimals 
       } else { 
        mCalculatorDisplay.append(buttonPressed); 
       } 

      } else { 

       if (buttonPressed.equals(".")) { 
        // ERROR PREVENTION 
        // This will avoid error if only the decimal is hit before an operator, by placing a leading zero 
        // before the decimal 
        mCalculatorDisplay.setText(0 + buttonPressed); 
       } else { 
        mCalculatorDisplay.setText(buttonPressed); 
       } 

       userIsInTheMiddleOfTypingANumber = true; 
      } 

     } else { 
      // operation was pressed 
      if (userIsInTheMiddleOfTypingANumber) { 

       mCalculatorBrain.setOperand(Double.parseDouble(mCalculatorDisplay.getText().toString())); 
       userIsInTheMiddleOfTypingANumber = false; 
      } 

      mCalculatorBrain.performOperation(buttonPressed); 
      mCalculatorDisplay.setText(df.format(mCalculatorBrain.getResult())); 

     } 

    } 

    protected void onSaveInstanceState(Bundle outState) { 
     super.onSaveInstanceState(outState); 
     // Save variables on screen orientation change 
     outState.putDouble("OPERAND", mCalculatorBrain.getResult()); 
     outState.putDouble("MEMORY", mCalculatorBrain.getMemory()); 
    } 

    @Override 
    protected void onRestoreInstanceState(Bundle savedInstanceState) { 
     super.onRestoreInstanceState(savedInstanceState); 
     // Restore variables on screen orientation change 
     mCalculatorBrain.setOperand(savedInstanceState.getDouble("OPERAND")); 
     mCalculatorBrain.setMemory(savedInstanceState.getDouble("MEMORY")); 
     mCalculatorDisplay.setText(df.format(mCalculatorBrain.getResult())); 
    } 




} 


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 

    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/banda_bk" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 

    android:visibility="visible" 
    tools:context=".MyActivity"> 

    <RelativeLayout android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 


     android:layout_centerInParent="true" 
     android:id="@+id/rel_banda"> 

     <ImageView 

      android:id="@+id/banda" 

      android:visibility="visible" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/banda" /> 

     <ImageView 

      android:id="@+id/ImageView1" 
      android:layout_marginRight="92dp" 
      android:layout_marginBottom="52dp" 
      android:layout_width="25dp" 
      android:layout_height="25dp" 
      android:layout_toLeftOf="@+id/linearLayout4" 
      android:visibility="gone"/> 

     <ImageView 
      android:layout_width="25dp" 
      android:layout_height="25dp" 
      android:id="@+id/ImageView2" 
      android:layout_alignLeft="@+id/ImageView1" 
      android:layout_alignStart="@+id/ImageView1" 
      android:visibility="gone"/> 

     <ImageView 
      android:layout_width="25dp" 
      android:layout_height="25dp" 
      android:id="@+id/ImageView3" 
      android:layout_marginRight="41dp" 
      android:layout_toLeftOf="@+id/ImageView2" 
      android:visibility="gone"/> 

     <ImageView 
      android:layout_width="25dp" 
      android:layout_height="25dp" 
      android:id="@+id/ImageView4" 
      android:layout_centerVertical="true" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentStart="true" 
      android:layout_marginLeft="16dp" 
      android:visibility="gone"/> 

     <ImageView 
      android:layout_width="25dp" 
      android:layout_height="25dp" 
      android:id="@+id/ImageView5" 
      android:layout_marginTop="25dp" 
      android:layout_below="@+id/ImageView4" 
      android:layout_alignLeft="@+id/ImageView4" 
      android:layout_alignStart="@+id/ImageView4" 
      android:visibility="gone"/> 

     <ImageView 
      android:layout_width="25dp" 
      android:layout_height="25dp" 
      android:id="@+id/ImageView6" 
      android:layout_alignTop="@+id/ImageView5" 
      android:layout_alignLeft="@+id/ImageView3" 
      android:layout_alignStart="@+id/ImageView3" 
      android:layout_marginTop="14dp" 
      android:visibility="gone"/> 

     <ImageView 
      android:layout_width="25dp" 
      android:layout_height="25dp" 
      android:id="@+id/ImageView7" 
      android:layout_alignTop="@+id/ImageView6" 
      android:layout_toRightOf="@+id/ImageView6" 
      android:layout_marginLeft="22dp" 
      android:visibility="gone"/> 

     <ImageView 
      android:layout_width="25dp" 
      android:layout_height="25dp" 
      android:id="@+id/ImageView8" 
      android:layout_alignTop="@+id/ImageView7" 
      android:layout_toRightOf="@+id/ImageView2" 
      android:visibility="gone"/> 

     <ImageView 
      android:layout_width="25dp" 
      android:layout_height="25dp" 
      android:id="@+id/ImageView9" 
      android:layout_alignTop="@+id/ImageView8" 
      android:layout_toRightOf="@+id/ImageView8" 
      android:layout_marginLeft="26dp" 
      android:visibility="gone"/> 


    </RelativeLayout> 

    <RelativeLayout 
     android:id="@+id/relativeLayout" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true"> 

     <LinearLayout 
      android:id="@+id/row1" 
      android:layout_width="600dp" 
      android:layout_height="wrap_content" 
      android:gravity="bottom"> 

      <Button 
       android:id="@+id/b0" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight=".15" 
       android:text="@string/b0" 
       android:textSize="12sp" /> 

      <Button 
       android:id="@+id/b1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight=".15" 
       android:text="@string/b1" 
       android:textSize="12sp" 
       android:visibility="visible" /> 

      <Button 
       android:id="@+id/b2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight=".15" 
       android:text="@string/b2" 
       android:textSize="12sp" 
       android:visibility="visible" /> 

      <Button 
       android:id="@+id/b3" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight=".15" 
       android:text="@string/b3" 
       android:textSize="12sp" 
       android:visibility="visible" /> 

      <Button 
       android:id="@+id/b4" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight=".15" 
       android:text="@string/b4" 
       android:textSize="12sp" 
       android:visibility="visible" /> 


      <Button 
       android:id="@+id/b5" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight=".15" 
       android:text="@string/b5" 
       android:textSize="12sp" 
       android:visibility="visible" /> 

      <Button 
       android:id="@+id/b6" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight=".15" 
       android:text="@string/b6" 
       android:textSize="12sp" 
       android:visibility="visible" /> 

      <Button 
       android:id="@+id/b7" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight=".15" 
       android:text="@string/b7" 
       android:textSize="12sp" 
       android:visibility="visible" /> 

      <Button 
       android:id="@+id/b8" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight=".15" 
       android:text="@string/b8" 
       android:textSize="12sp" 
       android:visibility="visible" /> 

      <Button 
       android:id="@+id/b9" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:layout_weight=".15" 
       android:text="@string/b9" 
       android:textSize="12sp" 
       android:visibility="visible" /> 

      <Button 
       android:id="@+id/buttonClear" 
       android:layout_width="33dp" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:text="@string/buttonClear" 
       android:textSize="12sp" /> 


     </LinearLayout> 
    </RelativeLayout> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:id="@+id/linearLayout4" 
     android:layout_alignParentRight="true" 
     android:layout_alignParentEnd="true" 
     android:layout_marginBottom="33dp"> 

     <TextView 
      android:id="@+id/printfirst" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="0" /> 

     <TextView 
      android:id="@+id/printsecond" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="0" /> 

     <TextView 
      android:id="@+id/Raspuns_user" 
      android:layout_width="100dp" 
      android:layout_weight=".15" 
      android:maxLines="1" 
      android:text="0" 
      android:textColor="@color/textbody" 
      android:textSize="15sp" 
      android:layout_height="wrap_content" /> 


     <Button 
      android:id="@+id/button" 
      android:layout_width="60dp" 
      android:layout_height="30dp" 
      android:textSize="10sp" 
      android:text="Check" /> 

     <TextView 
      android:id="@+id/Scorul" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Scor" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:textColor="@color/textbody" 
      android:textSize="10sp" /> 


    </LinearLayout> 


    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceMedium" 
     android:text="Ajutati spiridusii sa afle numarul total de piese lipsa. " 
     android:id="@+id/textView" 
     android:textSize="13dp" 
     android:textColor="@color/textbody" 

     android:layout_alignParentTop="true" /> 

</RelativeLayout> 

回答

1

試試這個:

Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
     public void run() { 



     // YOUR CODE HERE 


     } 
    }, 2000); 

其中2000爲2秒延時/睡在主線程。

+0

如果我用你的代碼圖像仍重疊。我不知道爲什麼。看起來他們在同一時間開始 – Krasiva

+0

@ElenaE請把你的整個活動和佈局代碼問題 – Ayub

+0

@ElenaE我不是動畫專家,給它一些時間,希望有人會回答... – Ayub

1

您可以使用線程的概念,並在循環中,您可以使用睡眠功能的延遲,你可以寫你的代碼,它

thread = new Thread() { 
     public void run() { 
      while (true) { 
       try { 


        YOUR FOR LOOP CODE HERE with this line "Thread.sleep(2000);" 


       } catch (InterruptedException e) { 
        Log.e(TAG, "local Thread error", e); 
       } 
      } 
     } 
    }; 
    thread.start(); 
+0

你能幫我請問幾行代碼? – Krasiva

+0

看到上面編輯的代碼希望它會幫助你 –

+0

或者,如果你使用動畫文件的動畫,那麼你可以在動畫文件中設置動畫定時也 –

0

對於創建延遲,您可以使用此代碼:

try { 
    Thread.sleep(m); // m is millisecond, if m = 1000 ms then delay = 1 s 
} 
catch (InterruptedException e) { 
    e.printStackTrace(); 
} 
+0

我試過這個,但是效果不好。 – Krasiva

0

如果我使用這個

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 * j 
     ); 
    } 

的問題是,在第二圖像開始時移動時,第一一停止消失。我希望所有的圖像繼續他們的運動。

0

這是最終的解決方案:

for(int j=0; j<i;j++) { 
    translateAnim[j].setStartOffset(5000*j); 
    imb_items[j].startAnimation(translateAnim[j]); 
}