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 11 tháng 12 năm 2024 | 1.5.1 | - | - | 1.6.0-alpha01 |
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.6
Phiên bản 1.6.0-alpha01
Ngày 11 tháng 12 năm 2024
Phát hành androidx.transition:transition:1.6.0-alpha01
và androidx.transition:transition-ktx:1.6.0-alpha01
. Phiên bản 1.6.0-alpha01 bao gồm các thay đổi sau.
Tính năng mới
- Transition hiện đặt phần tử mẹ không liên kết cho
ViewOverlays
dùng để tạo ảnh động cho các hiệu ứng chuyển đổi. Điều này cho phép phân giải chủ sở hữu thông qua phần tử mẹ không liên kết, nghĩa là giờ đây, bạn có thể phân giải chính xácViewModels
, vòng đời, v.v. trong quá trình chuyển đổi. (I10a16, b/340894487, b/287484338)
Sửa lỗi
- Thư viện này hiện sử dụng chú giải về tính chất rỗng của JSpecify, là loại sử dụng. Nhà phát triển Kotlin nên sử dụng các đối số trình biên dịch sau để thực thi cách sử dụng chính xác:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(I1f54e, b/326456246) - Xoá phần trình bày quyền truy cập vào API nền tảng mới theo cách thủ công vì việc này diễn ra tự động thông qua tính năng tạo mô hình API khi sử dụng R8 với AGP 7.3 trở lên (ví dụ: R8 phiên bản 3.3) và cho tất cả các bản dựng khi sử dụng AGP 8.1 trở lên (ví dụ: D8 phiên bản 8.1). Những ứng dụng không sử dụng AGP nên cập nhật lên D8 phiên bản 8.1 trở lên. Hãy xem bài viết này để biết thêm thông tin. (Ia60e0, b/345472586)
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 đề trong đó các lệnh gọi đến
animateToStart()
hoặcanimateToEnd()
trên một hiệu ứng chuyển đổi có thể tua sẽ bị bỏ qua nếu hiệu ứng chuyển đổi không đượ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ính năng tua lại chuyển đổi trên API 34 trở lên. Thêm một API mới vào
TransitionManager
,controlDelayedTransition()
. API này trả về mộtTransitionSeekController
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 sử dụng tính năng Xem trước thao tác quay lại. - Các hiệu ứng chuyển đổi có một phương thức mới,
getRootTransition()
, trả về hiệu ứng chuyển đổi 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 hiệu ứng chuyển đổi đó không được chứa 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 cho thời điểm 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 có bắt đầu hay kết thúc theo chiều ngược lại hay không. Điều này có thể quan trọng đối với việc phát triển các hiệu ứng chuyển đổi có thể tua lại 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 Mảnh lên phiên bản 1.7.0-rc02 để khắc phục lỗi nếu một thành phần dùng chung không thể tìm kiếm được được thêm vào một giao dịch mà tất cả các lượt chuyển đổi khác đều có thể tìm kiếm được, thì sẽ xảy ra 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 các Mảnh, trong đó việc làm gián đoạn các quá trình chuyển đổi sắp tới bằng cử chỉ Dự đoán quay lại sẽ huỷ chế độ xem đang nhập, có thể khiến 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 sẽ cóonTransitionEnd()
được gọi sauRunnable
đã cho 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 lên
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 lỗi
NullPointerException
do việc đặt chuyển đổi phần tử dùng chung và không đặt đượ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 đề về việc truy cập lại trong Transition (Quá trình chuyển đổi) khiến quá trình huỷ bị gián đoạn. (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ẽ nhận mộtRunnable
được dùng để trả về các thành phần 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
- Giờ đây, tính năng Chuyển đổi 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 hiệu ứng Chuyển đổi trang trình bày. Khi một hiệu ứng Chuyển đổi trượt làm gián đoạn hiệu ứng chuyển đổi khi nhập để xoá một Khung hiển thị, hiệu ứng đó sẽ chuyển sang một 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 đặt tiến trình dưới dạng một phần của 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ý vào hiệu ứng chuyển đổi khi tua. Phương thức này sử dụng trình theo dõi tốc độ 1 chiều để theo dõi sự thay đổi về tiến trình bằng
setCurrentFraction()
hoặcsetCurrentPlayTimeMillis()
và sử dụng trình theo dõi này cho tốc độ ban đầu củaanimateToStart
vàanimateToEnd
. (aosp/2647607)
Sửa lỗi
- Khắc phục tình trạng nhấp nháy khi tìm kiếm
AutoTransition
. (aosp/2643369) - Khắc phục lỗi chuyển đổi
Slide
sẽ chuyển 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
- Transition hiện biên dịch với 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ính năng tua lại chuyển đổi trên API 34 trở lên. Thêm một API mới vào
TransitionManager
,controlDelayedTransition()
. API này trả về mộtTransisionSeekController
cho phép tìm kiếm Hiệu ứng chuyển đổi.
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 phép nhà phát triển biết thời điểm chuyển đổi sẵn sàng để tìm kiếm, thời lượng của ảnh động và 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.- Các hiệu ứng chuyển đổi có một phương thức mới,
getRootTransition()
, trả về hiệu ứng chuyển đổi 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 hiệu ứng chuyển đổi đó không được chứa 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 cho thời điểm 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 có bắt đầu hay kết thúc theo chiều ngược lại hay không. Điều này có thể quan trọng đối với việc phát triển các hiệu ứng chuyển đổi có thể tua lại cóTransitionListeners
.
Sửa lỗi
- Giờ đây, các hiệu ứng chuyển đổi sẽ sao chép
TransitionListeners
khi được nhân bản. Đ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 Transition 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.