2016-12-06 58 views
1

我有一個攻擊動畫,我想重複動畫,每當按鈕的攻擊點擊所有我可以上來只是一個動畫只顯示,當按鈕再次按下動畫將不會再次重複 這裏是我的動畫代碼重複動畫按鈕時按

imgAttack = (ImageView) findViewById(R.id.imgAttack); 
     imgAttack.setBackgroundResource(R.drawable.attack_anim); 
     attackanimation=(AnimationDrawable)imgAttack.getBackground(); 

btnAtk.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       press=+1; 
       MaxHealth-=100; 

       swordAtk.start(); 

       attackanimation.start(); 




       health.setProgress(MaxHealth); 
       if(MaxHealth==0) { 


        health.setProgress(0); 
        Gold=Gold+1; 
        txtGold.setText("Gold:"+Gold); 
        SharedPreferences prefs = RpgActivity.this.getSharedPreferences(getString(R.string.PREF_FILE),MODE_PRIVATE); 
        SharedPreferences.Editor editor = prefs.edit(); 
        editor.putInt(getString(R.string.SDR),Gold); 
        editor.apply(); 
       } 
      } 
     }); 

這裏是我的attack_anim.xml XML

<?xml version="1.0" encoding="utf-8"?> 

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
    > 
    <item android:drawable="@drawable/attak0001" android:duration="100" /> 
    <item android:drawable="@drawable/attak0002" android:duration="100" /> 
    <item android:drawable="@drawable/attak0003" android:duration="100" /> 
    <item android:drawable="@drawable/attak0004" android:duration="100" /> 
    <item android:drawable="@drawable/attak0005" android:duration="100" /> 
    <item android:drawable="@drawable/attak0006" android:duration="100" /> 
    <item android:drawable="@drawable/attak0007" android:duration="100" /> 

</animation-list> 
+0

您可以指定什麼要求清楚。因爲根據android默認值,動畫可繪製必須繼續運行。 –

+0

我需要重置動畫,並再次播放時,當攻擊按鈕是按 – abcOfJavaAndCPP

回答

0

你可以做一些事情裏前attackAnimation.start()

attackAnimation.stop(); 
attackAnimation.selectDrawable(0); 

磕此,之後寫attackAnimation.start()

+0

它的播放無限我只想要播放它,一旦按鈕被點擊然後播放一次只有當再次點擊按鈕時 – abcOfJavaAndCPP

+0

我發現它我先生添加android:oneshot =「true」int xml文件 – abcOfJavaAndCPP

+0

是的,你是對的。不要稱我爲爵士。只是作爲朋友打電話。 –