2014-06-07 27 views
6

Hedefleyici nesnelerdeki duraklatma ve devam etme yöntemlerinin yalnızca API: 19 için kullanılabilir olduğunu anlıyorum. Bununla birlikte, ne ben, ne de android kullanıcılarının yarısı bu API'ya sahip olmadığından, animasyonunuzu duraklatmak için bir alternatif var mı, daha sonra baştan başlamak yerine aynı durumdan devam etmek için bir alternatif var mı? Herhangi bir yardım büyük takdir edilecektir.API'daki animasyonu 19'dan (Android) daha az duraklat/devam ettirme?

+0

olası yinelenen [? Sürdürmek ve 19 aşağıda API Düzeyleri Android for ObjectAnimator duraklatmak nasıl] (http://stackoverflow.com/questions/25231707/how- to-resume-ve-pause-objectanimator-in-android-için-api-seviyeleri-altında-19) –

+0

aslında bu soru bu bir kopyasıdır ... bağlantı için teşekkürler – Bazinga

+0

Orada herhangi bir olumsuz çağrışım var bir en azından anladığım kadarıyla, "çoğalt" sorusu. Öte yandan, SO, * cevaplar * ile bir çift seçmemizi teşvik ediyor, bu yüzden seçimim daha önce cevaplanmış olanın işaretçisini yerleştirmekti. –

cevap

12

Projemin animasyonunu döndürmem gerekiyordu (duraklama olacak ve aynı/son konumdan devam edecek) ve animatörün geçerli zamanını alarak çözdüm (animasyon sona erdiğinde/duraklattığım zaman)) ve animatörü başlattıktan sonra "setCurrentPlayTime (bitiş zamanı ile)" ayarlıyorum. Geçerli zaman almak için getCurrentPlayTime() kullanıyorum; ve ObjectAnimator sınıfının setCurrentPlayTime() yöntemini kullanıyorum.

Referanslar: http://developer.android.com/reference/android/animation/ValueAnimator.html#setCurrentPlayTime(long) http://developer.android.com/reference/android/animation/ValueAnimator.html#getCurrentPlayTime()

private ObjectAnimator mObjectAnimator; 
private long mAnimationTime; 

private void stopAnimation() { 
    if(mObjectAnimator != null) { 
     mAnimationTime = mObjectAnimator.getCurrentPlayTime(); 
     mObjectAnimator.cancel(); 
    } 
} 

private void playAnimation() { 
    if (mObjectAnimator != null) { 
     mObjectAnimator.start(); 
     mObjectAnimator.setCurrentPlayTime(mAnimationTime); 
    } 
} 
ait
+0

ObjectAnimator ile çalışır ancak ObjectAnimatorSet'i nasıl duraklatabiliriz/devam ettirebiliriz? – Deven

+0

Merhaba NikolaDev, sağladığınız çözümü uygulamayı denedim. Animasyon duraklatmayı iptal ettim, ancak başladığım ve sonra currentplaytime ayarlandığında, animasyonu yeniden başlattığımda bunun neden olabileceği hakkında bir fikrin var mı? –