Hiệu ứng chuyển cảnh

Hoạt hoá chuyển động trong giao diện người dùng với bố cục bắt đầu và kết thúc.
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.

Báo lỗi mới

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-alpha01androidx.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ác ViewModels, 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.1androidx.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ặc animateToEnd() 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.0androidx.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ột TransitionSeekController cho phép tìm kiếm Transition. 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 nghe onTransitionStart()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-rc02androidx.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-rc01androidx.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-beta01androidx.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-alpha06androidx.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

  • KhiTransitionSeekController.animateToStart() được sử dụng, TransitionListeners đã thêm sẽ có onTransitionEnd() được gọi sau Runnable đã cho của animateToStart(). (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-alpha05androidx.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 được enter/exitTransition. (I8472b)
  • Khắc phục vấn đề animateToStart() với Slide() 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ột Runnable đượ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-alpha03androidx.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-alpha02androidx.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 qua setCurrentFragment(). (aosp/2647607)
  • TransitionSeekController hiện cho phép quan sát tiến trình khi sử dụng animateToStart()animateToEnd() bằng cách gọi addOnProgressChangedListener. (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ặc setCurrentPlayTimeMillis() và sử dụng trình theo dõi này cho tốc độ ban đầu của animateToStartanimateToEnd. (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-alpha01androidx.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ột TransisionSeekController 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 nghe onTransitionStart()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 trong createAnimator() 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.1androidx.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.0androidx.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 AndroidX Transition. (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-rc01androidx.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-beta01androidx.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-alpha01androidx.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 AndroidX Transition. (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 trong Visibility, 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ành ViewGroup.

Sửa lỗi

  • SidePropagation không hoạt động khi độ trễ bổ sung được cung cấp qua setStartDelay() (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 trong RecyclerView (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.