2016-03-28 19 views
3

私のTextViewを無限にアニメーション化しようとしています。下記のようにのTextViewにこのアニメーションを割り当てるアクティビティコードがAndroid TextViewのアニメーション無限の繰り返しが動作しない

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fillAfter="true" 
    android:interpolator="@android:anim/linear_interpolator" > 


    <!-- Move --> 
    <translate 
     android:duration="800" 
     android:fillAfter="true" 
     android:fromXDelta="0%p" 
     android:startOffset="300" 
     android:toXDelta="2%p" /> 

    <translate 
     android:duration="800" 
     android:fillAfter="true" 
     android:fromXDelta="0%p" 
     android:startOffset="1900" 
     android:toXDelta="-2%p" /> 

</set> 

:私は下記のようにアニメーション効果を定義sequential.xmlを書かれている

TextView tv = new TextView(this); 
tv.setText(customObject.getText()); 
Animation animSequential; 
animSequential = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.sequential_horizontal); 
animSequential.setRepeatMode(Animation.RESTART); 
animSequential.setRepeatCount(Animation.INFINITE); 
tv.startAnimation(animSequential); 

しかし、それは反復されません最初の反復の終わりに停止するようになります。私が何か誤解した場合は、私に知らせてください。

+0

http://stackoverflow.com/questions/4480652/android-animation-does-not-repeatが役立つかどうかを確認する –

答えて

2

XMLコードでこれを試してください。 Javaコードがうまくいかず、私はこれをうまく解決しました。ちょうどあなたのコードでこれを適用します。

<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shareInterpolator="false" > 

    <rotate 
     android:fromDegrees="0" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:toDegrees="360" 
     android:duration="1000" 
     android:repeatCount="infinite" 
     android:repeatMode="restart"/> 

</set> 

は、あなたのコード内の<rotate>の最後の2行を追加します。あなたのケースでは、二つの成分<translate>と同等のJavaコードを削除内側:

animation.setRepeatMode(Animation.INFINITE); 
animation.setRepeatCount(Animation.INFINITE); 

このコードは、誰かがサービスを提供する場合は、オブジェクトは、無期限自体に回転になります。

Good Luck !!

関連する問題