2010-11-17 34 views

Trả lời

8

Thêm một Animation.AnimationListener đến Animation qua setAnimationListener(). Trong số onAnimationEnd() của người nghe, hãy gọi setVisibility(View.INVISIBLE) trên ImageView.

+0

Không phải giải pháp tốt nhất. Xem câu trả lời của chris. –

+1

@ClassStacker: Bạn được hoan nghênh ý kiến ​​của bạn. 'setFillAfter()' hiếm khi là câu trả lời đúng, vì nó không thực sự hoạt động theo cách mong đợi (ví dụ, 'setFillAfter()' trên 'TranslateAnimation' khiến các sự kiện liên lạc chỉ hoạt động ở vị trí * cũ *). Đối với hoạt ảnh alpha trên giao diện người dùng hoàn toàn tĩnh, nó có thể tồn tại, nhưng nếu có nhiều thay đổi trong giao diện người dùng đó, tôi sẽ không ngạc nhiên chút ít khi thấy alpha trở về giá trị ban đầu của nó. Trên Android 3.0+, bạn chỉ có thể đặt thuộc tính alpha của tiện ích con, tất nhiên. – CommonsWare

+0

Tôi thấy; Tôi không biết vấn đề 'TranslateAnimation'. Tốt để konw! Tuyệt vời bạn cung cấp động lực này cho giải pháp của bạn. –

16

cài đặt điềnĐược kích hoạt và điềnSau đó luôn đúng cho tôi.

anim = new AlphaAnimation(0.3f, 1.0f); 
anim.setDuration(500); 
anim.setFillEnabled(true); 
anim.setFillAfter(true); 
<view>.startAnimation(anim); 
+0

Tôi thứ hai. Cũng có thể đạt được chỉ trong XML. –

+0

đẹp! Cảm ơn, anh trai. :) –

Các vấn đề liên quan