轉場
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 12 月 11 日 | 1.5.1 | - | - | 1.6.0-alpha01 |
宣告依附元件
如果要為「轉場」新增依附元件,您必須將 Google Maven 存放區新增至專案。詳情請參閱 Google 的 Maven 存放區。
在應用程式或模組的 build.gradle
檔案中,新增所需構件的依附元件:
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") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 文件。
1.6 版本
1.6.0-alpha01 版本
2024 年 12 月 11 日
發布 androidx.transition:transition:1.6.0-alpha01
和 androidx.transition:transition-ktx:1.6.0-alpha01
。1.6.0-alpha01 版包含這些修訂版本。
新功能
- 轉場現在會為
ViewOverlays
設定不相交的父項,用於製作轉場動畫。這可透過不相交的父項解析擁有者,也就是說,您現在可以在轉換期間正確解析ViewModels
、生命週期等。(I10a16、b/340894487、b/287484338)。
修正錯誤
- 這個程式庫現在使用 JSpecify 空值註解,這是類型用法。Kotlin 開發人員應使用下列編譯器引數,強制執行正確的用法:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
(I1f54e、b/326456246) - 移除新平台 API 存取權的手動設定,因為在使用 AGP 7.3 以上版本 (例如 R8 3.3 版) 的 R8 時,以及在使用 AGP 8.1 以上版本 (例如 D8 8.1 版) 的所有版本時,這項操作會透過 API 模擬功能自動執行。建議未使用 AGP 的用戶端更新至 D8 8.1 以上版本。詳情請參閱這篇文章。(Ia60e0、b/345472586)
1.5 版本
1.5.1 版本
2024 年 7 月 24 日
發布 androidx.transition:transition:1.5.1
和 androidx.transition:transition-ktx:1.5.1
。1.5.1 版包含這些修訂項目。
修正錯誤
- 修正在可尋找的轉場中,如果轉場尚未開始,系統會忽略對
animateToStart()
或animateToEnd()
的呼叫。(I44d96、b/338624457)。
1.5.0 版本
2024 年 5 月 1 日
發布 androidx.transition:transition:1.5.0
和 androidx.transition:transition-ktx:1.5.0
。1.5.0 版包含這些修訂版本。
自 1.4.0 版以來的重要異動
- 轉場效果支援在 API 34 以上版本中尋找。
TransitionManager
新增了controlDelayedTransition()
這個 API,可傳回可尋找Transition
的TransitionSeekController
。Fragment 1.7.0 會使用這項功能,在使用預測返回手勢時自動尋找轉場效果。 - 轉場效果有新的
getRootTransition()
方法,可傳回包含目前轉場效果的轉場效果,或是目前轉場效果 (如果沒有包含任何其他轉場效果)。如果開發人員需要在整個轉場效果開始或結束時使用事件監聽器,這項功能就相當實用。 TransitionListeners
現在提供新的onTransitionStart()
和onTransitionEnd()
事件監聽器,可讓開發人員瞭解轉場效果是否會從結束或開始處倒轉。這對於開發具有TransitionListeners
的可尋找轉場效果相當重要。
1.5.0-rc02 版
2024 年 4 月 17 日
發布 androidx.transition:transition:1.5.0-rc02
和 androidx.transition:transition-ktx:1.5.0-rc02
。1.5.0-rc02 版包含這些修訂項目。
依附元件更新
- 已將 Fragment 依附元件更新至 1.7.0-rc02 版,修正了以下錯誤:如果在所有其他轉換皆可尋找的交易中,新增不可尋找的共用元素,就會發生當機。
1.5.0-rc01 版
2024 年 4 月 3 日
發布 androidx.transition:transition:1.5.0-rc01
和 androidx.transition:transition-ktx:1.5.0-rc01
。1.5.0-rc01 版包含這些修訂項目。
1.5.0-beta01 版
March 20, 2024
發布 androidx.transition:transition:1.5.0-beta01
和 androidx.transition:transition-ktx:1.5.0-beta01
。1.5.0-beta01 版包含這些修訂項目。
修正錯誤
- 修正片段中的問題:使用預測返回手勢中斷傳入的轉場會刪除進入的檢視畫面,可能會留下空白畫面。(Id3f22、b/319531491)。
1.5.0-alpha06 版
2024 年 1 月 10 日
發布 androidx.transition:transition:1.5.0-alpha06
和 androidx.transition:transition-ktx:1.5.0-alpha06
。1.5.0-alpha06 版包含以下修訂項目。
修正錯誤
- 使用
TransitionSeekController.animateToStart()
時,新增的TransitionListeners
會在animateToStart()
提供Runnable
後呼叫onTransitionEnd()
。(Ic6a55、b/307624554)。
依附元件更新
- 片段依附元件已更新為
1.7.0-alpha08
。
1.5.0-alpha05 版
2023 年 11 月 29 日
發布 androidx.transition:transition:1.5.0-alpha05
和 androidx.transition:transition-ktx:1.5.0-alpha05
。1.5.0-alpha05 版包含此連結所列的修訂項目。
修正錯誤
- 修正設定共用元素轉換,但未設定
enter/exitTransition
而導致NullPointerException
的問題。(I8472b) - 修正
animateToStart()
搭配Slide()
時無法將 View 移回起始位置的問題 (I698f4、b/300157785) - 修正轉換中會中斷取消的重新進入問題。(Iddcce、b/308379201)
1.5.0-alpha04 版
2023 年 10 月 4 日
androidx.transition:transition:1.5.0-alpha04
和 `androidx.transition:transition-ktx:1.5.0-alpha04 已發布。1.5.0-alpha04 版包含以下修訂項目。
API 變更
- 破壞性變更:
animateToStart()
方法現在會採用Runnable
,該方法應用於將轉場檢視區塊還原至原始狀態。
1.5.0-alpha03 版
2023 年 9 月 20 日
發布 androidx.transition:transition:1.5.0-alpha03
和 androidx.transition:transition-ktx:1.5.0-alpha03
。1.5.0-alpha03 版包含以下修訂項目。
新功能
- 轉換功能現在支援在 Android 14 裝置上使用 Fragment
1.7.0-alpha05
時,針對應用程式內的預測返回動畫。
修正錯誤
- 修正投影片轉場中斷的錯誤。當滑動轉場效果中斷進入轉場效果以移除 View 時,會跳到錯誤的位置。(I946f8、b/297427333)。
1.5.0-alpha02 版
2023 年 9 月 6 日
發布 androidx.transition:transition:1.5.0-alpha02
和 androidx.transition:transition-ktx:1.5.0-alpha02
。1.5.0-alpha02 版包含以下修訂項目。
新功能
TransitionSeekController
現在可讓您透過setCurrentFragment()
將進度設為總時間長度的一部分。(aosp/2647607)。TransitionSeekController
現在可透過呼叫addOnProgressChangedListener
,在使用animateToStart()
和animateToEnd()
時觀察進度。(aosp/2647607)。- 新增
TransitionManager.seekTo()
,可使用場景尋找轉場效果。(aosp/2647607)。 - 在尋找轉場效果時,新增以物理為基礎的動畫。它會使用 1D 速度追蹤器,透過
setCurrentFraction()
或setCurrentPlayTimeMillis()
追蹤進度變化,並將其用於animateToStart
和animateToEnd
的初始速度。(aosp/2647607)。
修正錯誤
- 修正了尋找
AutoTransition
時的閃爍問題。(aosp/2643369) - 修正
Slide
轉場在中斷時會跳到錯誤的起始位置的問題。(aosp/2733729、b/297427333)。
依附元件更新
- 轉場效果現在會使用 API 34 進行編譯。
1.5.0-alpha01 版本
2023 年 5 月 10 日
發布 androidx.transition:transition:1.5.0-alpha01
和 androidx.transition:transition-ktx:1.5.0-alpha01
。這個版本是在內部分支版本中開發而成。
新功能
- 轉場效果支援在 API 34 以上版本中尋找。我們已將新的 API 新增至
TransitionManager
,即controlDelayedTransition()
,該 API 會傳回可尋找轉場效果的TransisionSeekController
。
API 變更
TransitionManager
有一個新的controlDelayedTransition()
方法,可讓應用程式在 API 34 以上版本控制轉場動畫的進度。開發人員可以透過傳回的TransitionSeekController
瞭解轉場動畫何時可供尋找、動畫的時間長度,並設定動畫的目前時間。controlDelayedTransition()
僅支援覆寫isSeekable()
以傳回 true 的轉場效果。- 轉場效果有新的
getRootTransition()
方法,可傳回包含目前轉場效果的轉場效果,或是目前轉場效果 (如果沒有包含任何其他轉場效果)。如果開發人員需要在整個轉場效果開始或結束時使用事件監聽器,這項功能就相當實用。 TransitionListeners
現在提供新的onTransitionStart()
和onTransitionEnd()
事件監聽器,可讓開發人員瞭解轉場效果是否會從結尾開始或結束。這對於開發具有TransitionListeners
的可尋找轉場效果相當重要。
修正錯誤
- 轉場現在會在複製時複製
TransitionListeners
。也就是說,在createAnimator()
期間新增事件監聽器不會影響根轉場效果。
1.4.1 版本
1.4.1 版本
2021 年 4 月 21 日
androidx.transition:transition:1.4.1
和 androidx.transition:transition-ktx:1.4.1
發布。1.4.1 版包含此連結所列的修訂項目。
修正錯誤
- 修正以下問題:在一個容器中啟動
Transition
時會意外暫停其他在獨立容器中運作的轉場,造成這些轉場永遠無法完成 (aosp/1664439,b/182845041)
1.4.0 版本
1.4.0 版本
2021 年 1 月 27 日
androidx.transition:transition:1.4.0
和 androidx.transition:transition-ktx:1.4.0
發布。1.4.0 版本包含這些修訂版本。
自 1.3.0 版以來的重大異動
transition-ktx
構件推出 Kotlin 擴充功能,可為 AndroidXTransition
執行個體新增事件監聽器 (b/138870873)。
1.4.0-rc01 版本
2020 年 12 月 2 日
androidx.transition:transition:1.4.0-rc01
和 androidx.transition:transition-ktx:1.4.0-rc01
發布,沒有變更 1.4.0-beta01
的內容。1.4.0-rc01 版本包含這些修訂版本。
1.4.0-beta01 版本
2020 年 7 月 22 日
androidx.transition:transition:1.4.0-beta01
和 androidx.transition:transition-ktx:1.4.0-beta01
發布,且自 1.4.0-alpha01
版以來皆無異動。1.4.0-beta01 版本包含這些修訂版本。
1.4.0-alpha01 版本
2020 年 6 月 24 日
androidx.transition:transition:1.4.0-alpha01
和 androidx.transition:transition-ktx:1.4.0-alpha01
發布。1.4.0-alpha01 版本包含這些修訂版本。
新功能
transition-ktx
構件推出 Kotlin 擴充功能,可為 AndroidXTransition
執行個體新增事件監聽器 (b/138870873)。
1.3.1 版本
1.3.1 版本
2020 年 2 月 19 日
androidx.transition:transition:1.3.1
發布。查看 1.3.1 版的修訂項。
修正錯誤
- 修正以下錯誤:使用 ChangeTransform 時,部分動畫檢視畫面會發生不正確的裁剪 (b/148798452)
1.3.0 版本
1.3.0 版本
2020 年 1 月 22 日
androidx.transition:transition:1.3.0
發布。1.3.0 版本包含這些修訂版本。
自 1.2.0 版以來的重要異動
- 針對 Fragment 1.2.0 的改善項目:改善整合 Fragment 1.2.0 的狀況,確保「片段」的檢視畫面在轉場完成前不會刪除,而轉場在適當時間點會取消
1.3.0-rc02 版本
2019 年 12 月 4 日
androidx.transition:transition:1.3.0-rc02
發布。1.3.0-rc02 版本包含這些修訂版本。
修正錯誤
- 修正以下問題:在彈出隱藏的「片段」之後,檢視畫面會錯誤地標記為
INVISIBLE
(b/70793925)。
1.3.0-rc01 版本
2019 年 10 月 23 日
androidx.transition:transition:1.3.0-rc01
發布,且自 1.3.0-beta01
版以來皆無異動。1.3.0-rc01 版本包含這些修訂版本。
1.3.0-beta01 版本
2019 年 10 月 9 日
androidx.transition:transition:1.3.0-beta01
發布。1.3.0-beta01 版本包含這些修訂版本。
新功能
- 改善與 Fragment
1.2.0-beta01
的整合狀況,確保「片段」的檢視畫面在轉場完成前不會刪除,而轉場在適當時間點會取消 (aosp/1119841)。
1.2.0 版本
1.2.0 版本
2019 年 10 月 9 日
androidx.transition:transition:1.2.0
發布,且自 1.2.0-rc01 版以來皆無異動。1.2.0 版本包含這些修訂版本。
1.1.0 版本以來的重要異動
如果您指定的 API 級別為 29,請使用這個版本。否則某些轉場作業將無法正常運作。這個版本不再使用反射呼叫,而是改用 API 級別 29 中添加的新公用方法。這是我們針對非 SDK 介面施加的限制的一部分。
1.2.0-rc01 版本
2019 年 9 月 5 日
androidx.transition:transition:1.2.0-rc01
發布,且自 1.2.0-beta01
版以來皆無異動。您可以前往這裡查看這個版本包含的修訂版本。
1.2.0-beta01 版本
2019 年 7 月 2 日
發布 androidx.transition:transition:1.2.0-beta01
。您可以前往這裡查看這個版本包含的修訂版本。
新功能
- 如果您指定 29 為
targetSdkVersion
,就必須使用這個版本。否則某些轉場作業將無法正常運作。這個版本不再使用反射呼叫,而是改用 API 級別 29 中添加的新公用方法。這是我們針對非 SDK 介面施加的限制的一部分。
1.2.0-alpha01 版本
2019 年 5 月 7 日
androidx.transition:transition:1.2.0-alpha01
發布。
新功能
- 如果您指定 Q 為
targetSdkVersion
,就必須使用這個版本。否則某些轉場作業將無法正常運作。這個版本不再使用反射呼叫,而是改用 Q 中添加的新公用方法。這是我們針對非 SDK 介面施加的限制的一部分。
1.1.0 版本
1.1.0 版本
2019 年 7 月 2 日
發布了 androidx.transition:transition:1.1.0
,且自 1.1.0-rc02
版以來皆無異動。您可以前往這裡查看這個版本包含的修訂版本。
1.1.0-rc02 版本
2019 年 6 月 5 日
發布 androidx.transition:transition:1.1.0-rc02
。您可以前往這裡查看這個版本包含的修訂項目。
修正錯誤
- 修正
TransitionManager.endTransitions()
以正確處理依附轉場 (aosp/946400)。
1.1.0-rc01 版本
2019 年 5 月 7 日
發布了 androidx.transition:transition:1.1.0-rc01
。您可以前往這裡查看這個版本包含的修訂版本。
1.1.0-beta01 版本
2019 年 4 月 3 日
發布 androidx.transition:transition:1.1.0-beta01
。您可以前往這裡查看這個版本包含的修訂項目。
修正錯誤
- 修正
Visibility
中的ViewGroupOverlay
快取錯誤,這發生於 API 級別 17 以下 (aosp/937350)
1.1.0-alpha02 版本
2019 年 3 月 13 日
發布了 androidx.transition:transition:1.1.0-alpha02
。您可以前往這裡查看這個版本包含的修訂項目完整清單。
API 相關異動
- 方法參數的
Scene.getCurrentScene()
類型已從View
變更為ViewGroup
。
修正錯誤
- 如果透過
setStartDelay()
提供額外延遲,SidePropagation
就無法運作 (b/119839526)。 - 如果在 API 21 之前遭到中斷,
ChangeImageTransform
會套用錯誤的矩陣 (b/123226255)。 - 在 API 21 之前某些情況下
ChangeTransform
會運作不正常 (b/125777978)。
1.1.0-alpha01 版本
2018 年 12 月 3 日
API 相關異動
- aosp/807055:公開
Scene.getCurrentScene(View)
方法。允許您根據目前的情境撰寫自訂條件邏輯。
修正錯誤
- 修正使用
TransitionManager
收合/展開RecyclerView
中的項目時會當機的問題 (b/37129527)。 - 修正套用兩種顯示轉場時造成動畫錯誤的問題 (b/62629600)。
- 允許針對 TransitionSet 的子項覆寫時間長度和內插器等資料值 (b/64644617)。
- 修正其他多項小錯誤。