2010-07-11 17 views
5

İki Düğme ile yan yana, basit bir LinearLayout ürünüm var. Gerektiğinde ekranın sağ tarafından görünümü ve dışına kayması gerekiyordu. Animasyon çalışıyorum ve işin geri kalanı yapıyorum ama çözmek için son bir sorunum var.Android'de animasyon tamamlandığında görünümü nasıl gizlerim?

Kaydırma animasyonu tamamlandıktan sonra LinearLayout 'un görünürlüğünü View.GONE olarak nasıl ayarlayabilirim? Ekrandayken kaybolmak için ihtiyacım var.

cevap

11

Animasyon yaparken, Animation nesnesinin bir referansını alın. Animation#setAnimationListener numaralı telefonu arayın ve dinleyicinin onAnimationEnd yönteminde görünürlüğü View.GONE olarak ayarlayın.

+1

'setFillAfter()' doğruysa, bu başarısız olur? Animasyondan sonra Görünüm durumu göründüğünden, bu yüzden saklanamaz çünkü 'setFillAfter()' bu durumu beklemede tutuyor. Bunu yapıyorum ve görünümüm hala görülebilir, bir şekilde konumdan dolayı 'setFillAfter()' 'ın doğru olmasına ihtiyacım var. – Talha

0
LinearLayout al = (LinearLayout) findViewById(R.id.layoutid); 
al.setVisibility(view.INVISIBLE); 

sizin

onAnimationEnd(){ 
} 
2

yinelenen yukarıdaki kodu ekleyin: https://stackoverflow.com/a/7606533/3717188

anim.setAnimationListener(new Animation.AnimationListener(){ 
    @Override 
    public void onAnimationStart(Animation arg0) { 
    }   
    @Override 
    public void onAnimationRepeat(Animation arg0) { 
    }   
    @Override 
    public void onAnimationEnd(Animation arg0) { 
    } 
}); 
İlgili konular