2012-02-29 24 views
15

Tôi đang sử dụng khung công tác tuyệt vời NineOldAndroids, nhưng tôi không thể tìm thấy bất kỳ thứ gì để đặt trục xoay trên chế độ xem hoạt ảnh của mình. Cụ thể, tôi đang cố gắng làm một hoạt ảnh scaleX + scaleY với trục xoay ở cạnh trên cùng bên trái, vì vậy pivotX = 0 và pivotY = 0. Trên tổ ong và hơn thế nữa, tôi chỉ cần đặt myView.setPivotX(0)myView.setPivotY(0), nhưng cách thực hiện thiết bị trước Honeycomb với NineOldAndroids? Tôi đã thử các cách sau:NineOldAndroids: đặt chế độ xem trục

AnimatorSet set = new AnimatorSet(); 
set.playTogether(
    ObjectAnimator.ofFloat(myView, "pivotX", -(myView.getWidth()/2), -(myView.getWidth()/2)), 
    ObjectAnimator.ofFloat(myView, "pivotY", -(myView.getHeight()/2), -(myView.getHeight()/2)), 
    ObjectAnimator.ofFloat(myView, "scaleX", 0, 1), 
    ObjectAnimator.ofFloat(myView, "scaleY", 0, 1), 
    ObjectAnimator.ofFloat(myView, "alpha", 0, 1) 
); 
set.setDuration(1000).start(); 

nhưng không hoạt động, trục nằm ở giữa chế độ xem.

Bạn có thể giúp tôi không?

cám ơn;)

+0

Tôi không nghĩ rằng NineOldAndroids hỗ trợ :-(này On Honeycomb hoặc cao hơn (API 11) bạn có thể gọi setPivotY (0) nhưng phương pháp này không có sẵn trong Xem Tom

+0

Tôi biết rồi, tôi đã kiểm tra mã nguồn của NineOldAndroids và tôi đã tìm thấy một số tham chiếu đến trục xoay cho việc triển khai trước Honeycomb nhưng tôi không có may mắn với những nỗ lực của tôi trong việc thiết lập ... :( – Venator85

Trả lời

18

Nhờ tác giả Jake Wharton, đây là giải pháp:

AnimatorProxy.wrap(myView).setPivotX(0); 

bất cứ lúc nào, thậm chí sau đã gọi ObjectAnimator.start().

+0

Tôi không biết điều này có thể được thực hiện.Điều đó rất hữu ích bởi vì không có nhiều hoạt ảnh không thể hoàn thành trên các thiết bị cũ hơn – Tom

+2

+1 để tạo cho tác giả một số tín dụng. Bạn thậm chí có thể đi thêm dặm và liên kết tên của mình với Trang web của anh ấy là Backlinks là SEO ngon. – Jacksonkr

+0

Wel l, đối với tôi nó đã làm việc CHỈ SAU KHI gọi 'start()'. Có lẽ vì tôi đã sử dụng AnimatorSet –

15

AnimatorProxy.wrap (...) không có bất kỳ ảnh hưởng nào trong trường hợp của tôi. Tuy nhiên, các dòng sau đã làm các trick:

ViewHelper.setPivotY(myView, 0) 
+0

AnimatorProxy.wrap cũng không hoạt động với tôi, tôi đang sử dụng AnimatorSet. Thumbs up cho câu trả lời này coz nó cuối cùng đã giúp tôi ra –

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