2012-02-12 40 views
5

Tôi có chế độ xem được đặt hoàn toàn ngoài màn hình và tôi đang cố gắng tạo ảnh động trên màn hình.Chế độ xem Animate trên Android từ màn hình tắt không hoạt động

Khi tôi gọi:

view.startAnimation(tA); 

có gì xảy ra, tA.initialize và tA.applyTransformation không bao giờ được gọi.

Nếu tôi di chuyển chế độ xem sao cho bất kỳ phần nào của nó hiển thị trước khi tôi bắt đầu hoạt ảnh thì hoạt ảnh sẽ hoạt động chính xác.

Điều gì ngăn không cho chế độ xem hoạt ảnh khi chế độ xem được đặt ngoài Chế độ xem chính?

Trả lời

1

Đó là sự hiểu biết của tôi khi nghiên cứu cùng một vấn đề mà Android Animations không hoạt động tốt khi được cung cấp với các tọa độ ngoài màn hình để bắt đầu hoặc kết thúc.

Có một số hộp thoại trên diễn đàn Android về lỗi này đã được giải quyết nhưng tôi vẫn gặp sự cố trên 4.2.

Edit:

Ngày nghĩ thứ hai, tôi chỉ chạy trên answer này và nó cung cấp một giải pháp làm việc nếu bạn có thể sử dụng các API mới hơn (ObjectAnimator).

View view = this; 
ObjectAnimator anim = ObjectAnimator.ofFloat(view, "y", 0, 100); 
anim.setDuration(super.animationDuration()); 
anim.start(); 

Trường hợp tài sản của ObjectAnimator.ofFloat(view, "y", 0, 100);

ObjectAnimator.ofFloat(Object objBeingAnimated, String propertyBeingAnimated, float startValue, float endValue) 
0

tôi thấy this answer sử dụng ValueAnimator để thay đổi MarginLayoutParams.topMargin (trong trường hợp của tôi) trong onAnimationUpdate(), mà cố định vấn đề này. Chế độ xem của tôi bắt đầu với bộ lề của nó để màn hình Chế độ xem tắt.

Phương pháp tiếp cận ObjectAnimator hứa hẹn nhưng không hiệu quả đối với tôi, nó có cùng một vấn đề với lượt xem màn hình mà tôi nhận được với TranslateAnimation.

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