SORU
18 Aralık 2010, CUMARTESİ


Android animasyon tekrar etmez

Birkaç kez (veya sonsuz) tekrarlamak olduğunu basit bir animasyon yapmaya çalışıyorum.android:repeatCount çalışmıyor gibi görünüyor!/res/anim/first_animation.xml : animasyon benim kaynak

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false"
    android:repeatCount="infinite"
    >
    <scale
        android:interpolator="@android:anim/decelerate_interpolator"
        android:duration="500"
        android:fromXScale="1.0"
        android:fromYScale="1.0"
        android:toXScale="1.2"
        android:toYScale="1.2"
        android:pivotX="50%"
        android:pivotY="50%"
        android:fillAfter="false" />
    <scale
        android:interpolator="@android:anim/accelerate_interpolator"
        android:startOffset="500"
        android:duration="500"
        android:fromXScale="1.2"
        android:fromYScale="1.2"
        android:toXScale="1.0"
        android:toYScale="1.0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:fillAfter="false" />
</set>

İlk 500 ms 1.2 boyutu 1.0 görüntü ölçek gerekir.

Animation firstAnimation = AnimationUtils.loadAnimation(this, R.anim.first_animation);
imgView.startAnimation(firstAnimation);

Bir devir yapar ve daha sonra tamamlanır.Nasıl amaçlı olarak bu işi yapabilir miyim?

CEVAP
15 HAZİRAN 2011, ÇARŞAMBA


Güncelleme:2011 yılında Eyl geri Android bir mühendis çoğunlukla bu sorun düzeltildi. XML gözardı edildiği nitelikleri şu anda, hala göz ardı edilir repeatCount fillEnabled (nedense bilerek) dışında çalışır. Bu hala AnimationSet ne yazık ki tekrar etmek kolay değil demektir.

Ayrıntılı bilgi için lütfen updated docs genel iş sayılır hangi açıklar ve çocuklar üzerine geçirilir (bkz. Ve fillAfter, fillBefore fillEnabled aslında ne daha derin bir anlayış için, bu konuda mühendis (Chet Haase) blog yazısı here bkz.


Orijinal Cevap

Pavel ve diğerleri tarafından cevap üzerine genişletmek için: <set> etiket gülünç arabası olduğu doğrudur. Doğru repeatCount ve diğer özellikleri bir dizi ile baş edemez.

Birkaç saat ve başa çıkamıyorum ne bulmaktan geçirdim ve burada hata raporu/sorunu Gönderen: Issue 17662

Özetle (bu AnimationSetlar endişeleri):

() setRepeatCount / android:tekrarlama

Bu öznitelik olarak repeatMode) kod veya XML çalışmıyor. Bu animasyonlar bir dizi tüm tekrar zorlaştırıyor.

() setDuration / android:süresi

XML etiketi dahil zaman kod ÇALIŞIR bir AnimationSet (çocukların tüm süreler animasyonlar geçersiz kılar), fakat bu ayarı

() setFillAfter / android:fillAfter

Bu etiket için kod hem de XML olarak çalışır. Garip bir şekilde de fillEnabled true gerek kalmadan çalıştım.

() setFillBefore / android:fillBefore

Hiçbir etkisi var gibi görünüyor/kod hem de XML olarak dikkate alınmaz

() setFillEnabled / android:fillEnabled

Hiçbir etkisi var gibi görünüyor/kod hem de XML olarak dikkate alınmaz. Hala bile fillEnabled veya fillEnabled yanlış ayar dahil olmadan işe fillAfter alabilirim.

() setStartOffset / android:startOffset

Bu kod ve XML yalnızca çalışır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • L- Crysis

    L- Crysis

    30 Aralık 2011
  • Matthew Pearce

    Matthew Pear

    9 AĞUSTOS 2009
  • schmittastic

    schmittastic

    9 EYLÜL 2009