Hiệu ứng chuyển cảnh
Bản cập nhật mới nhất | Bản phát hành ổn định | Bản phát hành dùng thử | Bản phát hành beta | Bản phát hành alpha |
---|---|---|---|---|
Ngày 24 tháng 7 năm 2024 | 1.5.1 | - | - | - |
Khai báo phần phụ thuộc
Để thêm phần phụ thuộc trên Transition, bạn phải thêm kho lưu trữ Google Maven vào dự án. Đọc nội dung Kho lưu trữ Maven của Google để biết thêm thông tin.
Thêm các phần phụ thuộc cho cấu phần phần mềm bạn cần trong tệp build.gradle
cho ứng dụng hoặc mô-đun:
Groovy
dependencies { // Java language implementation implementation "androidx.transition:transition:1.5.1" // Kotlin implementation "androidx.transition:transition-ktx:1.5.1" }
Kotlin
dependencies { // Java language implementation implementation("androidx.transition:transition:1.5.1") // Kotlin implementation("androidx.transition:transition-ktx:1.5.1") }
Để biết thêm thông tin về các phần phụ thuộc, hãy xem bài viết Thêm phần phụ thuộc vào bản dựng.
Ý kiến phản hồi
Ý kiến phản hồi của bạn có thể giúp chúng tôi cải thiện Jetpack. Hãy cho chúng tôi biết nếu bạn phát hiện lỗi mới hoặc có ý tưởng cải thiện thư viện này. Vui lòng xem các lỗi hiện có trong thư viện này trước khi báo một lỗi mới. Bạn có thể thêm lượt bình chọn cho lỗi hiện có bằng cách nhấp vào nút dấu sao.
Xem tài liệu về Công cụ theo dõi lỗi để biết thêm thông tin.
Phiên bản 1.5
Phiên bản 1.5.1
Ngày 24 tháng 7 năm 2024
Phát hành androidx.transition:transition:1.5.1
và androidx.transition:transition-ktx:1.5.1
. Phiên bản 1.5.1 bao gồm các thay đổi sau.
Sửa lỗi
- Khắc phục vấn đề các lệnh gọi đến
animateToStart()
hoặcanimateToEnd()
trên quá trình chuyển đổi có thể tìm kiếm sẽ bị bỏ qua nếu quá trình chuyển đổi chưa được bắt đầu. (I44d96, b/338624457)
Phiên bản 1.5.0
Ngày 1 tháng 5 năm 2024
Phát hành androidx.transition:transition:1.5.0
và androidx.transition:transition-ktx:1.5.0
. Phiên bản 1.5.0 bao gồm các thay đổi sau.
Thay đổi quan trọng kể từ phiên bản 1.4.0
- Hỗ trợ tìm kiếm hiệu ứng chuyển đổi trên API 34 trở lên. Một API mới đã được thêm vào
TransitionManager
,controlDelayedTransition()
, trả vềTransitionSeekController
cho phép tìm kiếmTransition
. Fragment 1.7.0 sử dụng chức năng này để tự động tìm các hiệu ứng chuyển đổi khi dùng Cử chỉ xem trước thao tác quay lại. - Hiệu ứng chuyển đổi có một phương thức mới là
getRootTransition()
. Phương thức này trả về hiệu ứng Chuyển đổi có chứa hiệu ứng chuyển đổi hiện tại hoặc hiệu ứng chuyển đổi hiện tại nếu phương thức đó không có trong bất kỳ hiệu ứng chuyển đổi nào khác. Điều này có thể hữu ích nếu nhà phát triển cần có trình nghe khi toàn bộ quá trình Chuyển đổi bắt đầu hoặc kết thúc. TransitionListeners
hiện có trình ngheonTransitionStart()
vàonTransitionEnd()
mới cho phép nhà phát triển biết liệu quá trình chuyển đổi đang bắt đầu hay kết thúc ngược lại. Thao tác này có thể đóng vai trò quan trọng trong quá trình phát triển các hiệu ứng chuyển đổi có thể tìm kiếm cóTransitionListeners
.
Phiên bản 1.5.0-rc02
Ngày 17 tháng 4 năm 2024
Phát hành androidx.transition:transition:1.5.0-rc02
và androidx.transition:transition-ktx:1.5.0-rc02
. Phiên bản 1.5.0-rc02 bao gồm các thay đổi sau.
Cập nhật về phần phụ thuộc
- Cập nhật phần phụ thuộc Fragment lên phiên bản 1.7.0-rc02 để khắc phục lỗi trong đó nếu một phần tử chia sẻ không tìm kiếm được thêm vào một giao dịch mà trong đó có thể tìm kiếm tất cả các chuyển đổi khác, thì sẽ có sự cố.
Phiên bản 1.5.0-rc01
Ngày 3 tháng 4 năm 2024
Phát hành androidx.transition:transition:1.5.0-rc01
và androidx.transition:transition-ktx:1.5.0-rc01
. Phiên bản 1.5.0-rc01 bao gồm các thay đổi sau.
Phiên bản 1.5.0-beta01
Ngày 20 tháng 3 năm 2024
Phát hành androidx.transition:transition:1.5.0-beta01
và androidx.transition:transition-ktx:1.5.0-beta01
. Phiên bản 1.5.0-beta01 bao gồm các thay đổi sau.
Sửa lỗi
- Khắc phục vấn đề trong Mảnh, trong đó việc làm gián đoạn các lượt chuyển đổi đến bằng cử chỉ Xem trước thao tác quay lại sẽ huỷ bỏ khung hiển thị đang vào và có thể để lại một màn hình trống. (Id3f22, b/319531491)
Phiên bản 1.5.0-alpha06
Ngày 10 tháng 1 năm 2024
Phát hành androidx.transition:transition:1.5.0-alpha06
và androidx.transition:transition-ktx:1.5.0-alpha06
. Phiên bản 1.5.0-alpha06 bao gồm các thay đổi sau.
Sửa lỗi
- Khi
TransitionSeekController.animateToStart()
được sử dụng,TransitionListeners
đã thêm giờ đây sẽ cóonTransitionEnd()
được gọi sauRunnable
được cung cấp củaanimateToStart()
. (Ic6a55, b/307624554)
Cập nhật về phần phụ thuộc
- Phần phụ thuộc Fragment đã được cập nhật thành
1.7.0-alpha08
.
Phiên bản 1.5.0-alpha05
Ngày 29 tháng 11 năm 2023
Phát hành androidx.transition:transition:1.5.0-alpha05
và androidx.transition:transition-ktx:1.5.0-alpha05
. Phiên bản 1.5.0-alpha05 bao gồm các thay đổi sau.
Sửa lỗi
- Khắc phục
NullPointerException
do thiết lập chuyển đổi phần tử dùng chung và cũng không thiết lập đượcenter/exitTransition
. (I8472b) - Khắc phục vấn đề
animateToStart()
vớiSlide()
không di chuyển được Chế độ xem về vị trí bắt đầu (I698f4, b/300157785) - Khắc phục vấn đề người dùng quay lại trong quá trình chuyển đổi, khiến việc huỷ bỏ. (Iddcce, b/308379201)
Phiên bản 1.5.0-alpha04
Ngày 4 tháng 10 năm 2023
Phát hành androidx.transition:transition:1.5.0-alpha04
và "androidx.transition:transition-ktx:1.5.0-alpha04. Phiên bản 1.5.0-alpha04 bao gồm các thay đổi sau.
Thay đổi về API
- Thay đổi có thể gây lỗi – Phương thức
animateToStart()
hiện sẽ lấyRunnable
cần dùng để đưa các khung hiển thị chuyển đổi về trạng thái ban đầu.
Phiên bản 1.5.0-alpha03
Ngày 20 tháng 9 năm 2023
Phát hành androidx.transition:transition:1.5.0-alpha03
và androidx.transition:transition-ktx:1.5.0-alpha03
. Phiên bản 1.5.0-alpha03 bao gồm các thay đổi sau.
Tính năng mới
- Hiệu ứng chuyển đổi hiện hỗ trợ ảnh động Xem trước thao tác quay lại trong ứng dụng trên các thiết bị Android 14 khi được sử dụng với Mảnh
1.7.0-alpha05
.
Sửa lỗi
- Đã khắc phục lỗi gián đoạn Chuyển đổi trang trình bày. Khi hiệu ứng Chuyển đổi trang trình bày làm gián đoạn quá trình chuyển đổi đang nhập để xoá một Chế độ xem, hiệu ứng này sẽ nhảy đến vị trí không chính xác. (I946f8, b/297427333)
Phiên bản 1.5.0-alpha02
Ngày 6 tháng 9 năm 2023
Phát hành androidx.transition:transition:1.5.0-alpha02
và androidx.transition:transition-ktx:1.5.0-alpha02
. Phiên bản 1.5.0-alpha02 bao gồm các thay đổi sau.
Tính năng mới
TransitionSeekController
hiện cho phép bạn thiết lập tiến trình dưới dạng một phần trong tổng thời lượng thông quasetCurrentFragment()
. (aosp/2647607)TransitionSeekController
hiện cho phép quan sát tiến trình khi sử dụnganimateToStart()
vàanimateToEnd()
bằng cách gọiaddOnProgressChangedListener
. (aosp/2647607)- Thêm
TransitionManager.seekTo()
để cho phép sử dụng Cảnh để tìm kiếm hiệu ứng Chuyển đổi. (aosp/2647607) - Thêm ảnh động dựa trên vật lý để tìm kiếm hiệu ứng chuyển đổi. Mô hình này sử dụng một công cụ theo dõi tốc độ 1-D để theo dõi sự thay đổi về tiến trình bằng
setCurrentFraction()
hoặcsetCurrentPlayTimeMillis()
, rồi sử dụng công cụ này cho tốc độ ban đầu củaanimateToStart
vàanimateToEnd
. (aosp/2647607)
Sửa lỗi
- Khắc phục lỗi nhấp nháy khi tìm kiếm
AutoTransition
. (aosp/2643369) - Khắc phục vấn đề hiệu ứng chuyển đổi
Slide
sẽ nhảy sang vị trí bắt đầu không chính xác khi bị gián đoạn. (aosp/2733729, b/297427333)
Cập nhật về phần phụ thuộc
- Quá trình chuyển đổi hiện sẽ biên dịch bằng API 34.
Phiên bản 1.5.0-alpha01
Ngày 10 tháng 5 năm 2023
Phát hành androidx.transition:transition:1.5.0-alpha01
và androidx.transition:transition-ktx:1.5.0-alpha01
. Phiên bản này được phát triển trong một nhánh nội bộ.
Tính năng mới
- Hỗ trợ tìm kiếm hiệu ứng chuyển đổi trên API 34 trở lên. Một API mới đã được thêm vào
TransitionManager
,controlDelayedTransition()
. API này trả vềTransisionSeekController
cho phép tìm kiếm hiệu ứng Chuyển tiếp.
Thay đổi về API
TransitionManager
có một phương thức mới làcontrolDelayedTransition()
, cho phép các ứng dụng kiểm soát tiến trình của ảnh động chuyển đổi trên API 34 trở lên.TransitionSeekController
được trả về cho nhà phát triển biết thời điểm hiệu ứng chuyển đổi sẵn sàng để tua, thời lượng của ảnh động, đồng thời cho phép đặt thời gian hiện tại của ảnh động.controlDelayedTransition()
chỉ hỗ trợ các hiệu ứng chuyển đổi ghi đèisSeekable()
để trả về giá trị true.- Hiệu ứng chuyển đổi có một phương thức mới là
getRootTransition()
. Phương thức này trả về hiệu ứng Chuyển đổi có chứa hiệu ứng chuyển đổi hiện tại hoặc hiệu ứng chuyển đổi hiện tại nếu phương thức đó không có trong bất kỳ hiệu ứng chuyển đổi nào khác. Điều này có thể hữu ích nếu nhà phát triển cần có trình nghe khi toàn bộ quá trình Chuyển đổi bắt đầu hoặc kết thúc. TransitionListeners
hiện có trình ngheonTransitionStart()
vàonTransitionEnd()
mới cho phép nhà phát triển biết liệu quá trình chuyển đổi đang bắt đầu hay kết thúc ngược lại. Thao tác này có thể đóng vai trò quan trọng trong việc phát triển các hiệu ứng chuyển đổi có thể tìm kiếm cóTransitionListeners
.
Sửa lỗi
- Các hiệu ứng chuyển đổi giờ đây sẽ sao chép
TransitionListeners
khi chúng được sao chép. Điều này có nghĩa là việc thêm trình nghe mới trongcreateAnimator()
sẽ không ảnh hưởng đến quá trình chuyển đổi gốc.
Phiên bản 1.4.1
Phiên bản 1.4.1
Ngày 21 tháng 4 năm 2021
Phát hành androidx.transition:transition:1.4.1
và androidx.transition:transition-ktx:1.4.1
. Phiên bản 1.4.1 bao gồm các thay đổi sau.
Sửa lỗi
- Khắc phục vấn đề khi việc bắt đầu một
Transition
trong một vùng chứa sẽ vô tình tạm dừng các quá trình chuyển đổi đang chạy khác trong các vùng chứa riêng biệt, khiến cho các quá trình chuyển đổi đó không bao giờ kết thúc. (aosp/1664439, b/182845041)
Phiên bản 1.4.0
Phiên bản 1.4.0
Ngày 27 tháng 1 năm 2021
androidx.transition:transition:1.4.0
và androidx.transition:transition-ktx:1.4.0
được phát hành. Phiên bản 1.4.0 bao gồm các thay đổi sau.
Các thay đổi lớn từ phiên bản 1.3.0
- Cấu phần phần mềm
transition-ktx
giới thiệu các tiện ích mở rộng Kotlin để thêm trình nghe vào các phiên bản AndroidXTransition
. (b/138870873)
Phiên bản 1.4.0-rc01
Ngày 2 tháng 12 năm 2020
androidx.transition:transition:1.4.0-rc01
và androidx.transition:transition-ktx:1.4.0-rc01
được phát hành mà không có thay đổi nào từ 1.4.0-beta01
. Phiên bản 1.4.0-rc01 có các cam kết này.
Phiên bản 1.4.0-beta01
Ngày 22 tháng 7 năm 2020
androidx.transition:transition:1.4.0-beta01
và androidx.transition:transition-ktx:1.4.0-beta01
được phát hành mà không có thay đổi nào kể từ 1.4.0-alpha01
. Phiên bản 1.4.0-beta01 bao gồm các thay đổi sau.
Phiên bản 1.4.0-alpha01
Ngày 24 tháng 6 năm 2020
Phát hành androidx.transition:transition:1.4.0-alpha01
và androidx.transition:transition-ktx:1.4.0-alpha01
. Phiên bản 1.4.0-alpha01 có những bản cam kết này.
Các tính năng mới
- Cấu phần phần mềm
transition-ktx
giới thiệu các tiện ích mở rộng Kotlin để thêm trình nghe vào các phiên bản AndroidXTransition
. (b/138870873)
Phiên bản 1.3.1
Phiên bản 1.3.1
Ngày 19 tháng 2 năm 2020
Phát hành androidx.transition:transition:1.3.1
. Phiên bản 1.3.1 bao gồm các thay đổi sau.
Sửa lỗi
- Khắc phục lỗi khi một số trình xem ảnh động bị cắt sai khi sử dụng ChangeTransform (b/148798452)
Phiên bản 1.3.0
Phiên bản 1.3.0
Ngày 22 tháng 1 năm 2020
Phát hành androidx.transition:transition:1.3.0
. Phiên bản 1.3.0 bao gồm các thay đổi sau.
Những thay đổi quan trọng kể từ phiên bản 1.2.0
- Cải tiến cho Fragment 1.2.0: Đã cải tiến việc tích hợp với Fragment 1.2.0 để đảm bảo Thành phần hiển thị (view) của mảnh không bị huỷ trước khi quá trình chuyển đổi hoàn tất và quá trình chuyển đổi được huỷ tại thời điểm thích hợp.
Phiên bản 1.3.0-rc02
Ngày 4 tháng 12 năm 2019
Phát hành androidx.transition:transition:1.3.0-rc02
. Phiên bản 1.3.0-rc02 bao gồm các thay đổi sau.
Sửa lỗi
- Khắc phục sự cố trong đó Thành phần hiển thị (view) bị đánh dấu không chính xác là
INVISIBLE
sau khi hiển thị một Mảnh (Fragment) bị ẩn. (b/70793925)
Phiên bản 1.3.0-rc01
Ngày 23 tháng 10 năm 2019
androidx.transition:transition:1.3.0-rc01
được phát hành mà không có thay đổi nào kể từ 1.3.0-beta01
. Phiên bản 1.3.0-rc01 bao gồm các thay đổi sau.
Phiên bản 1.3.0-beta01
Ngày 9 tháng 10 năm 2019
Phát hành androidx.transition:transition:1.3.0-beta01
. Phiên bản 1.3.0-beta01 bao gồm các thay đổi sau.
Các tính năng mới
- Đã cải tiến việc tích hợp với Mảnh
1.2.0-beta01
để đảm bảo Thành phần hiển thị (view) của mảnh không bị huỷ trước khi quá trình chuyển đổi hoàn tất và quá trình chuyển đổi được huỷ tại thời điểm thích hợp. (aosp/1119841)
Phiên bản 1.2.0
Phiên bản 1.2.0
Ngày 9 tháng 10 năm 2019
androidx.transition:transition:1.2.0
được phát hành mà không có thay đổi nào từ phiên bản 1.2.0-rc01. Phiên bản 1.2.0 bao gồm các thay đổi sau.
Những thay đổi quan trọng kể từ phiên bản 1.1.0
Bạn nên sử dụng phiên bản này nếu bạn đang nhắm tới mục tiêu API cấp 29. Nếu không, một số quá trình chuyển đổi sẽ không hoạt động đúng cách. Thay vì các lệnh gọi phản chiếu, phiên bản này sử dụng các phương thức công khai mới được thêm vào API cấp 29. Đây là một phần của quy định hạn chế của chúng tôi đối với nỗ lực của giao diện không phải SDK.
Phiên bản 1.2.0-rc01
Ngày 5 tháng 9 năm 2019
androidx.transition:transition:1.2.0-rc01
được phát hành mà không có thay đổi nào kể từ phiên bản 1.2.0-beta01
. Bạn có thể tìm thấy các cam kết có trong phiên bản này tại đây.
Phiên bản 1.2.0-beta01
Ngày 2 tháng 7 năm 2019
Phát hành androidx.transition:transition:1.2.0-beta01
. Bạn có thể tìm thấy các cam kết có trong phiên bản này tại đây.
Các tính năng mới
- Phiên bản này nên được dùng nếu bạn đang chỉ định 29 làm
targetSdkVersion
. Nếu không, một số quá trình chuyển đổi sẽ không hoạt động đúng cách. Thay vì các lệnh gọi phản chiếu, phiên bản này sử dụng các phương thức công khai mới được thêm vào API cấp 29. Đây là một phần của quy định hạn chế của chúng tôi đối với nỗ lực của giao diện không phải SDK.
Phiên bản 1.2.0-alpha01
Ngày 7 tháng 5 năm 2019
Phát hành androidx.transition:transition:1.2.0-alpha01
.
Các tính năng mới
- Phiên bản này nên được dùng nếu bạn đang chỉ định Q là một
targetSdkVersion
. Nếu không, một số quá trình chuyển đổi sẽ không hoạt động đúng cách. Thay vì các lệnh gọi phản chiếu, phiên bản này sử dụng các phương thức công khai mới được thêm vào Q. Đây là một phần của quy định hạn chế của chúng tôi đối với nỗ lực của giao diện không phải SDK.
Phiên bản 1.1.0
Phiên bản 1.1.0
Ngày 2 tháng 7 năm 2019
androidx.transition:transition:1.1.0
được phát hành mà không có thay đổi nào từ 1.1.0-rc02
. Bạn có thể tìm thấy các cam kết có trong phiên bản này tại đây.
Phiên bản 1.1.0-rc02
Ngày 5 tháng 6 năm 2019
Phát hành androidx.transition:transition:1.1.0-rc02
. Bạn có thể xem các thay đổi trong phiên bản này tại đây.
Sửa lỗi
- Khắc phục để
TransitionManager.endTransitions()
hoạt động chính xác với các quá trình chuyển đổi phụ thuộc. (aosp/946400)
Phiên bản 1.1.0-rc01
Ngày 7 tháng 5 năm 2019
Phát hành androidx.transition:transition:1.1.0-rc01
. Bạn có thể tìm thấy các cam kết có trong phiên bản này tại đây.
Phiên bản 1.1.0-beta01
Ngày 3 tháng 4 năm 2019
Phát hành androidx.transition:transition:1.1.0-beta01
. Bạn có thể xem các thay đổi trong phiên bản này tại đây.
Sửa lỗi
- Khắc phục lỗi bộ nhớ đệm
ViewGroupOverlay
trongVisibility
, xảy ra trên API cấp 17 trở xuống (aosp/937350)
Phiên bản 1.1.0-alpha02
Ngày 13 tháng 3 năm 2019
Phát hành androidx.transition:transition:1.1.0-alpha02
. Bạn có thể xem danh sách đầy đủ các thay đổi trong phiên bản này tại đây.
Thay đổi về API
- Loại
Scene.getCurrentScene()
của tham số phương thức đã được thay đổi từView
thànhViewGroup
.
Sửa lỗi
SidePropagation
không hoạt động khi độ trễ bổ sung được cung cấp quasetStartDelay()
(b/119839526).ChangeImageTransform
áp dụng sai ma trận khi bị gián đoạn trước API 21 (b/123226255).ChangeTransform
hoạt động không chính xác trong một số trường hợp trước API 21 (b/125777978).
Phiên bản 1.1.0-alpha01
Ngày 3 tháng Mười hai, 2018
Thay đổi về API
- aosp/807055: Phương thức
Scene.getCurrentScene(View)
được đặt công khai. Công cụ này cho phép bạn viết một logic tùy chỉnh có điều kiện tùy vào cảnh hiện tại.
Sửa lỗi
- Khắc phục sự cố khi sử dụng
TransitionManager
để thu gọn/mở rộng mục trongRecyclerView
(b/37129527). - Khắc phục ảnh động không chính xác khi áp dụng 2 quá trình chuyển đổi Mức độ hiển thị (b/62629600).
- Cho phép ghi đè các giá trị như thời lượng và bộ nội suy cho các tệp con của TransitionSet (b/64644617).
- Đã sửa nhiều lỗi nhỏ khác.