預測返回和系統動畫預設為啟用。如果應用程式會攔截返回事件,但您尚未遷移至預測返回手勢,請更新應用程式,改用支援的返回瀏覽 API。
啟用預設系統動畫
在搭載 Android 15 以上版本的裝置上,如果應用程式已改用支援的返回處理 API,就會顯示返回主畫面、跨活動和跨工作的系統動畫。
- 返回主畫面:讓使用者返回主畫面。
- 跨活動:應用程式內活動之間的轉換。
- 跨工作:工作之間的轉換。
Android 15 以上版本預設會啟用這些動畫。在搭載 Android 13 或 14 的裝置上,使用者可以透過開發人員選項啟用。
如要取得系統動畫,請將 AndroidX Activity 依附元件更新至 1.6.0 以上版本。
使用 Navigation Compose 啟用預測返回手勢
如要在 Navigation Compose 中使用預測返回手勢,請務必使用 navigation-compose 2.8.0 以上版本的程式庫。
使用者向後滑動時,Navigation Compose 會自動在畫面之間淡入淡出:
導覽時,您可以使用 popEnterTransition 和 popExitTransition 建立自訂轉場效果。將這些修飾符套用至 NavHost 後,您就能定義進入和離開畫面的動畫效果。您可以使用這些類別建立各種效果,例如縮放、淡出或滑動。
在這個範例中,scaleOut 會在 popExitTransition 中使用,在使用者返回時縮小退出畫面。此外,transformOrigin 參數會決定要以哪一點為基準來縮小畫面。根據預設,這會是畫面的中心點 (0.5f, 0.5f)。您可以調整這個值,用不同點當做縮小動畫的原點。
NavHost( navController = navController, startDestination = Home, popExitTransition = { scaleOut( targetScale = 0.9f, transformOrigin = TransformOrigin(pivotFractionX = 0.5f, pivotFractionY = 0.5f) ) }, popEnterTransition = { EnterTransition.None }, modifier = modifier, )
這段程式碼會產生以下結果:
popEnterTransition 和 popExitTransition 專門控制彈出返回堆疊時的動畫,例如使用返回手勢。您也可以使用 enterTransition 和 exitTransition,定義一般可組合項的進入和退出動畫,不限於預測返回手勢。如果只設定 enterTransition 和 exitTransition,這些效果會同時用於一般導覽和彈出返回堆疊。不過,使用 popEnterTransition 和 popExitTransition 可為返回瀏覽建立不同的動畫。
整合共用元素轉場效果
共用元素轉場效果可在具有共用內容的可組合項之間,提供流暢的視覺連結,通常用於導覽。
如要搭配 Navigation Compose 使用共用元素,請參閱「使用共用元素的預測返回手勢」。
支援 Material Compose 元件的預測返回手勢
Material Compose 程式庫中的許多元件,都能與預測返回手勢完美搭配。如要在這些元件中啟用預測返回動畫,請在專案中加入最新的 Material3 依附元件 (androidx.compose.material3:material3-*:1.3.0 以上版本)。
支援預測返回動畫的 Material 元件包括:
SearchBarModalBottomSheetModalDrawerSheet/DismissibleDrawerSheetModalNavigationDrawer/DismissibleNavigationDrawer
SearchBar 和 ModalBottomSheet 會自動顯示預測返回手勢動畫。ModalNavigationDrawer、ModalDrawerSheet、DismissibleDrawerSheet 和 DismissibleNavigationDrawer 需要您將 drawerState 傳遞至各自的工作表內容可組合函式。
測試預測返回手勢動畫
如果您仍使用 Android 13 或 Android 14,可以測試返回主畫面動畫。
如要測試這個動畫,請按照下列步驟操作:
- 在裝置上,依序前往「設定」>「系統」>「開發人員選項」。
- 選取「預測返回操作動畫」。
- 啟動更新後的應用程式,然後使用返回手勢查看實際運作情形。
在 Android 15 以上版本中,這項功能預設為啟用。