2016-03-28 20 views
3

TextView'ı sonsuza kadar Animate uygulamasına çalışıyorum. Aşağıda verilen gibi animasyon efekti tanımlayan sequential.xml yazdım:Android TextView Animasyon Sonsuz Tekrar Çalışmıyor

<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> 

TextView bu animasyonu atamak Etkinlik kod aşağıda verilmiştir gibidir:

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); 

Ama yinelenen değil ilk iterasyonun sonunda animasyon ve durma noktasına gelir. Bir şeyle ilgili birşeyler varsa lütfen bana bildirin.

+0

http://stackoverflow.com/questions/4480652/android-animation-does-not-repeat yardımcı olup olmadığına bakın –

cevap

2

Bunu XML kodunda deneyin. Java kodu işe yaramadı ve ben bunu iyi çözdüm. Sadece kodunda bu geçerlidir:

<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> 

içinde senin kod <rotate> son iki satırları ekleyin. Senin durumunda, iki bileşenden <translate> ve eşdeğer Java kodunu kaldırmak içi:

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

Bu kod birisi hizmet veriyorsa bir nesne, süresiz kendi üzerine dönüşümlü yapacaktır.

İyi Şanslar !!