設定預測返回

預測返回和系統動畫預設為啟用。如果應用程式會攔截返回事件,且您尚未遷移至預測返回功能,請更新應用程式,改用支援的返回瀏覽 API

預測返回主畫面動畫。
預測跨活動動畫。
預測跨工作動畫。

啟用預設系統動畫

如果應用程式已遷移至支援的返回處理 API,搭載 Android 15 以上版本的裝置就會顯示返回首頁、跨活動和跨工作的系統動畫。

  • 返回主畫面:讓使用者返回主畫面。
  • 跨活動:在應用程式內切換活動。
  • 跨工作:在工作之間轉換。

在 Android 15 以上版本中,這些動畫預設為啟用。在搭載 Android 13 或 14 的裝置上,使用者可以透過「開發人員選項」啟用這些功能。

如要取得系統動畫,請將 AndroidX Activity 依附元件更新至 1.6.0 以上版本。

使用 Navigation Compose 啟用預測返回手勢

如要在 Navigation Compose 中使用預測返回手勢,請務必使用 navigation-compose 2.8.0 以上版本的程式庫。

當使用者向後滑動時,Navigation Compose 會自動在畫面之間進行交叉淡出:

圖 2. SociaLite 中的預設應用程式內交叉淡出動畫。

導覽時,您可以使用 popEnterTransitionpopExitTransition 建立自訂轉場效果。套用至 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,
)

這段程式碼會產生下列結果:

圖 3. SociaLite 中的自訂應用程式內動畫。

popEnterTransitionpopExitTransition 專門控制返回堆疊彈出時的動畫,例如返回手勢。您也可以使用 enterTransitionexitTransition,為一般進入和離開的可組合函式定義動畫,不只是預測返回手勢。如果只設定 enterTransitionexitTransition,這些會用於一般導覽和彈出返回堆疊。不過,使用 popEnterTransitionpopExitTransition 可為返回導覽建立不同的動畫。

與共用元素轉換整合

共用元素轉換會在具有共用內容的可組合函式之間,提供流暢的視覺連結,通常用於導覽。

圖 4. 支援預測返回手勢的 Navigation Compose 共用元素轉場效果。

如要搭配 Navigation Compose 使用共用元素,請參閱「支援預測返回手勢的共用元素」。

支援 Material Compose 元件的預測返回手勢

Material Design Compose 程式庫中的許多元件都經過設計,可與預測返回手勢順暢搭配運作。如要在這些元件中啟用預測返回動畫,請在專案中加入最新的 Material3 依附元件 (androidx.compose.material3:material3-*:1.3.0 以上版本)。

支援預測返回動畫的 Material 元件包括:

SearchBarModalBottomSheet 會自動顯示預測返回手勢動畫。ModalNavigationDrawerModalDrawerSheetDismissibleDrawerSheetDismissibleNavigationDrawer 需要將 drawerState 傳遞至各自的表單內容可組合函式。

測試預測返回手勢動畫

如果您仍使用 Android 13 或 Android 14,可以測試返回主畫面動畫。

如要測試這個動畫,請按照下列步驟操作:

  1. 在裝置上,依序前往「設定」>「系統」>「開發人員選項」
  2. 選取「預測返回操作動畫」
  3. 啟動更新後的應用程式,然後使用返回手勢查看實際運作情形。

在 Android 15 以上版本中,這項功能預設為啟用。

其他資源