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 1 tháng 5 năm 2024 1.5.0 - - -

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.0"
    // Kotlin
    implementation "androidx.transition:transition-ktx:1.5.0"
}

Kotlin

dependencies {
    // Java language implementation
    implementation("androidx.transition:transition:1.5.0")
    // Kotlin
    implementation("androidx.transition:transition-ktx:1.5.0")
}

Để 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.5

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ìm kiếm 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ếm Transition. Fragment 1.7.0 sử dụng chức năng này để tự động tìm kiếm các hiệu ứng chuyển đổi khi sử dụng Cử chỉ xem trước thao tác quay lại.
  • Quá trình chuyển đổi có một phương thức mới là getRootTransition(). Phương thức này sẽ trả về hiệu ứng chuyển đổi chứa hiệu ứng chuyển đổi hiện tại hoặc xóa chuyển đổi hiện tại nếu không có trong bất kỳ loại 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 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 đảo ngược hay không. Đây có thể là yếu tố quan trọng để phát triển các hoạt độ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-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 trong đó nếu một phần tử dùng chung không thể tìm kiếm được thêm vào một giao dịch nơi 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 sự cố trong các Mảnh khiến việc làm gián đoạn các hiệu ứng chuyển đổi đến bằng cử chỉ Xem trước thao tác quay lại sẽ huỷ bỏ khung hiển thị đi vào, 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-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

  • Khi TransitionSeekController.animateToStart() được dùng, TransitionListeners đã thêm giờ đây 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 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-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 quá trình chuyển đổi phần tử dùng chung gây ra và cũng không đặt được enter/exitTransition. (I8472b)
  • Khắc phục vấn đề animateToStart()Slide() không di chuyển được Chế độ xem trở lại vị trí bắt đầu (I698f4, b/300157785)
  • Khắc phục vấn đề quay lại trong Transition khiến quá trình huỷ. (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.

Các thay đổi về API

  • Thay đổi có thể gây lỗi – Phương thức animateToStart() hiện lấy Runnable nên được dùng để đưa các chế độ xem 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

  • 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 tiếp trang trình bày. Khi một hiệu ứng chuyển tiếp trang trình bày làm gián đoạn quá trình chuyển đổi đang vào để xoá một thành phần hiển thị, nó sẽ nhảy đến 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 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 qua setCurrentFragment(). (aosp/2647607)
  • Giờ đây, TransitionSeekController 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 nhằm 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 các hiệu ứng chuyển đổi đang tua. Phương thức này sử dụng trình theo dõi tốc độ 1-D để theo dõi sự thay đổi về tiến trình bằng setCurrentFraction() hoặc setCurrentPlayTimeMillis(), đồng thời sử dụng trình theo dõi này cho vận tốc ban đầu của animateToStartanimateToEnd. (aosp/2647607)

Sửa lỗi

  • Khắc phục sự cố nhấp nháy khi tìm kiếm AutoTransition. (aosp/2643369)
  • Khắc phục vấn đề trong đó quá trình chuyển đổi Slide sẽ nhảy đến sai vị trí bắt đầu khi bị gián đoạn. (aosp/2733729, b/297427333)

Cập nhật về phần phụ thuộc

  • Giờ đây, quá trình chuyển đổi 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-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ìm kiếm chuyển đổi trên API 34 trở lên. Một API mới đã được thêm vào TransitionManager, controlDelayedTransition(), trả về TransisionSeekController cho phép tìm kiếm Lượt chuyển đổi.

Các 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 để 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.
  • Quá trình chuyển đổi có một phương thức mới là getRootTransition(). Phương thức này sẽ trả về hiệu ứng chuyển đổi chứa hiệu ứng chuyển đổi hiện tại hoặc xóa chuyển đổi hiện tại nếu không có trong bất kỳ loại 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 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 đảo ngược hay không. Đây có thể là yếu tố quan trọng để phát triển các hoạt động chuyển đổi có thể tìm kiếm có TransitionListeners.

Sửa lỗi

  • Giờ đây, quá trình chuyển đổi sẽ sao chép TransitionListeners của chúng khi được sao chép. Đ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 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.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

Phát hành androidx.transition:transition:1.4.0androidx.transition:transition-ktx:1.4.0. 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.

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.