android animasyon onAnimationEnd bitmiş değil | Netgez.com
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

  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013
  • Jeremy Stark

    Jeremy Stark

    23 Mayıs 2010
  • paulandstorm

    paulandstorm

    4 EYLÜL 2006