2014-12-07 16 views
31

Mỗi lần tôi tìm kiếm tôi đã xem qua này "chuyển tiếp 5 (L) hoạt động android chỉ có trên API >= 21.android chuyển 5 hoạt động trên api thấp

đó là tốt nhưng tôi có thể thấy một số ứng dụng như QuickPicgoogle inbox sử dụng tương tự chuyển tiếp và cũng làm việc trên api thấp hơn, vậy làm thế nào ứng dụng này có thể làm một điều như vậy?

những gì tôi đã làm?

1) rất nhiều tìm kiếm :)

2) chơi với ActivityOptionsCompat mà chỉ áp dụng đối với api> = 21, như thế này:

ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(activity, transitionView, DATA.EXTRA_PASSED_JSON); 
Intent intent = new Intent(activity, PhotoViewerActivity.class); 
intent.putExtra(DATA.EXTRA_PASSED_JSON, json); 
ActivityCompat.startActivity(activity, intent, options.toBundle()); 

EDIT (câu hỏi đánh dấu là trùng lặp): nó khác với câu hỏi khác trong trường hợp này, bởi vì tôi đã nói có ứng dụng khác thực hiện chuyển đổi này trong api thấp hơn và tôi muốn biết cách họ làm điều đó.

+0

@ alex-lockwood trong tương lai khi bạn quyết định đơn phương đóng một vé để trùng lặp, vui lòng liên kết tới bài đăng trùng lặp. – edthethird

Trả lời

37

Chúng tôi đã thêm rất nhiều thứ trong Lollipop để làm cho Hoạt động chuyển tiếp hoạt động tốt. Có thể thực hiện Chuyển tiếp Hoạt động theo cách thủ công (trong các phiên bản trước), nhưng bạn sẽ gặp phải vấn đề trong một số trường hợp và quá trình chuyển đổi trở lại có khả năng chỉ hoạt động trong trường hợp đơn giản nhất. Chet Haase có một devbyte trên here này.

Hoạt ảnh giữa các đoạn có thể sớm hơn, mặc dù API không dễ sử dụng như trong Chuyển đổi phân đoạn của Lollipop.

Chúng tôi đã suy nghĩ rất nhiều về việc chuyển tiếp chuyển tiếp sang phiên bản cũ hơn trong thư viện hỗ trợ. Nó vẫn có thể xảy ra. Nếu vậy, chúng ta cũng có thể làm điều gì đó cho chuyển tiếp mảnh vỡ.

+15

trong bản cập nhật gần đây cho ứng dụng Gmail, chúng tôi có thể thấy rằng makeSceneTransitionAnimation cũng có thể có trong các thiết bị trước kẹo, bạn có thể vui lòng cho tôi biết cách chúng tôi có thể đạt được điều này không? – user2056563

+8

tin tốt foks nó xảy ra họ đã thêm nó trong lib hỗ trợ v4 hãy xem https://developer.android.com/reference/android/support/transition/package-summary.html – Ajinkya

20

Như bạn tự nói, thư viện hỗ trợ không hỗ trợ (tất cả) chuyển tiếp trên các phiên bản Android dưới 5.0. Tuy nhiên có một số lựa chọn thay thế:

thư viện tương thích không chính thức
https://github.com/andkulikov/transitions-everywhere
https://github.com/takahirom/PreLollipopTransition
https://github.com/lgvalle/Material-Animations

Android KitKat
http://www.doubleencore.com/2013/11/new-transitions-framework/ và một mẫu tìm thấy trong thư mục mẫu SDK của bạn.

+0

tnx, tôi nghĩ tôi có thể thực hiện công việc này. – mehdok

+0

với thư viện bạn liên kết tôi có thể sử dụng chuyển đổi giữa 2 chế độ xem trong api thấp hơn nhưng tôi không thể tìm ra cách áp dụng chuyển đổi giữa 2 'hoạt động', bạn có thể gợi ý cho tôi không? – mehdok

+3

Bạn có thể tải chế độ xem hoạt động thứ hai, sau đó, thực hiện ý định không có hoạt ảnh. Ofcourse, điều này là khó khăn hơn khi bạn hoạt động tiếp theo có nội dung khác nhau. – Mdlc

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