SORU
20 Ocak 2011, PERŞEMBE


android animasyon onAnimationEnd bitmiş değil

Android animasyon onAnimationEnd olay animation.hasEnded true olmasına rağmen ateş edildiğinde gerçekten bitmiş değil gibi görünüyor.

Benim görüşüme sonunda drawable mu ScaleAnimation arka plan değiştirmek istiyorum, ama belli ki bazı Salise tamamlanmadan önce değişmiş olduğunu görebilirsiniz. Sorun yeni arka plan görünür (=) animasyon gerçekten bitene kadar kısa bir süre için ölçeklendirilmiş çünkü titriyor.

Bir şekilde animasyon ya da gerçek bir son olsun ya da sadece zaman bu kısa süre ölçekli olduğum yeni plan önlemek için var mı?

Teşekkür ederim!


//DÜZENLEME: AnimationListener şu çağrıyı almak için kullanıyorum:

    @Override
public void onAnimationEnd(Animation animation)
{
    View view = (MyView) ((ExtendedScaleAnimation) animation).getView();

    view.clearAnimation();
    view.requestLayout();
    view.refreshBackground(); // <-- this is where the background gets changed
}

CEVAP
24 ŞUBAT 2011, PERŞEMBE


Burada asıl hata, bu sorun için http://code.google.com/p/android-misc-widgets/issues/detail?id=8 ile ilgili

Bu temelde onAnimationEnd yöntemi gerçekten bir AnimationListener bir Animasyon takılıyken iyi çalışmıyor Birleşik Devletleri

Geçici görünüm hangi animasyonun başvurduğunu animasyon olayları dinlemek için. Başlangıçta, örneğin bu gibi animasyon için animasyon dinleyici ekleme olduğunu

mAnimation.setAnimationListener(new AnimationListener() {
    @Override
    public void onAnimationEnd(Animation arg0) {
        //Functionality here
    }
});

ve sonra böyle bir İmageView için animasyon uygulamak

mImageView.startAnimation(mAnimation);

Bu soruna geçici bir çözüm bulmak için, şimdi özel bir İmageView oluşturmanız gerekir

public class MyImageView extends ImageView {

ve sonra Görünüm sınıfı onAnimationEnd Bu yöntem geçersiz kılmak ve tüm işlevselliği sağlamak

@Override
protected void onAnimationEnd() {
    super.onAnimationEnd();
    //Functionality here
}

Bu sorun için uygun bir çözüm üzerinde-riden - ^ Görünümünde işlevselliği sağlar . bu AnimationListener Animasyon eklenmiş onAnimationEnd yönteme karşı onAnimationEnd yöntemi.

Bu ve artık animasyonun sonuna doğru herhangi bir titreme yok düzgün çalışıyor. Bu yardımcı olur umarım.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bunliu

    bunliu

    2 Mayıs 2007
  • placeboing

    placeboing

    7 Mart 2006
  • ShoSho

    ShoSho

    20 Ocak 2010