2016-11-10 3 views
0

私はアニメーションの中でアニメーションの中でいくつかの種類のルーピングを試みました。ここでの答えは、animation.setRepeatCount(Animation.INFINITE);または、animroidファイル内のandroid:repeatcount = "infinite" .evenはJavaでwhile(true)ループを試しましたが、動作しないようです。Androidはアニメーションのループを続ける

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false"> 

<alpha 
    android:fromAlpha="0.0" 
    android:toAlpha="1.0" 
    android:duration="3000" /> 

<translate 
    android:fromXDelta="0.0" 
    android:toXDelta="0.0" 
    android:fromYDelta="0.0" 
    android:toYDelta="100.0" 
    android:startOffset="3000" 
    android:duration="3000" 
    android:repeatCount="infinite"/> 

</set> 

と私のJavaは次のとおりです。

@Override 
protected void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    img = (ImageView) findViewById(R.id.img); 
    animation = AnimationUtils.loadAnimation(this, R.anim.halloweenanim); 

    img.startAnimation(animation); 
    animation.setRepeatCount(Animation.INFINITE); 

    //hallo.setBackgroundResource(R.drawable.halloweenimg); 
    //animation2 = (AnimationDrawable) hallo.getBackground(); 
    //animation2 = (AnimationDrawable) img.getBackground(); 
    //animation.start(); 
}; 
+0

私はうまくいかないようになっていますか? –

+0

私は連続ループを意味します。それは一度だけアニメートし、何も起こりません。私はそれをアニメーション化しておきたいと思います。 – hpa

答えて

0

実際には、AnimationSetにはバグのコードがあります。でも、ドキュメントhere

repeatCountに、fillEnabledこう述べています。これらのプロパティは、 AnimationSetでは無視されます。あなたは何ができるか

animation.setRepeatCount(Animation.INFINITE); を削除し、アニメーションタグのそれぞれについて、android:repeatCount="infinite"を設定し、代わりに親セットタグです。

0

あなたはこれを試してみて、それはあなたを助けかどうか見ていただけます。

animation.addListener(new AnimatorListenerAdapter() { 

    @Override 
    public void onAnimationEnd(Animator animation) { 
     super.onAnimationEnd(animation); 
Animation animation = AnimationUtils.loadAnimation(this, R.anim.halloweenanim); 
animation.setAnimationListener(this); 
       img.startAnimation(animation); 
    } 

}); 
img.startAnimation(animation); 
0

nevermind。私は解決策を見つけた。アンドロイド:repeatCount = "無限"は、アルファベットの中に配置する必要があります。 .setRepeatCountをJavaコードの中に追加する必要はありません。 XD

+0

はい、それぞれの属性を個別に追加する必要があります。 –

関連する問題