
預測返回是手勢操作運算的結果,使用者在完成手勢操作之前,先滑動返回手勢預覽返回手勢的目的地。這可讓使用者決定是要繼續操作,也就是要「修訂」返回手勢,還是停留在目前的檢視畫面。
使用手勢操作時,預測返回功能可提供更順暢、更直覺的導覽體驗。它會利用內建動畫,告訴使用者動作會在哪裡執行,減少意外的結果。
如果應用程式設計需要針對重要時刻提供自訂轉場效果和動畫,請使用本頁的設計指南。大多數應用程式都不需要實作自訂返回導覽,因為內建的預測返回動畫會顯示使用者即將前往的位置。
支援預測返回手勢
無論是使用預設或自訂返回導覽,您都可以使用預測返回功能。如果您使用預設返回導覽功能,可以輕鬆啟用該功能。進一步瞭解如何支援預測返回手勢。
啟用這項功能後,應用程式就會內建動畫,例如返回首頁、跨活動和跨工作的動畫。
您也可以將 Material 元件依附元件升級至 MDC Android 1.10.0-alpha02 以上版本,即可接收下列 Material 元件動畫:
設計手勢操作
確保應用程式具備無邊框支援
為了協助使用者,預測返回導覽會遵循無邊框功能中定義的手勢插邊。請避免在這些手勢區域下方新增觸控手勢或拖曳目標。

全螢幕介面
如果您的應用程式建立適用於全螢幕介面的自訂應用程式內轉場效果,請參閱設計指南。
使用者在全螢幕介面上做出返回手勢時,在返回預覽畫面期間,途徑會從螢幕邊緣完全卸離,使用者也能直接操控。然而,設計不應以視覺方式向使用者暗示完成返回手勢後,會依照返回手勢的方向關閉項目。
舉例來說,關閉詳細資料畫面返回垂直清單時,您可以使用全螢幕介面轉場效果,提示使用者正在復原先前的動作。在影片 1 中,日曆活動 1 會關閉為「天」檢視模式。為改善反應能力,設計也加入細微的超載,以吸收手勢期間所累積的部分彈簧張力。
返回預覽
向使用者顯示預測動畫時,應用程式保留的「修訂前」狀態會測量使用者是否已執行無邊框返回手勢,但尚未允許執行。您必須提供適用於此前置狀態的參數。
顯示動作的數量以使用者從手勢開始位置所能移動的最大距離。
動態規格
全螢幕途徑會從手勢開頭的 x 和 y 偏移直接影響。本節說明適用於螢幕回饋機制的規格和值。
下圖顯示表面動畫的建議動態規格。

1 邊界:任一側的寬度 5% (與 3 中所述的表面區域相關)
2 計算將視窗縮放至中心處的位移值。 計算所需的 8dp 邊界:((螢幕寬度 / 20) - 8) dp
3 Surface 會縮放至 90%,針對邊界保留 10% (請參閱1)
4 與螢幕邊緣保持 8 dp 的間距
建議您保留所列參數以獲得一致的體驗,但您可以修改規格來建立自訂動畫。
在上圖中,螢幕寬度為 1280,而 x-shift 為 56 dp。計算公式如下:
((1280/20)-8)= 56 dp x Shift

1 Y 軸可將邊緣和裝置邊界之間的空間
2 如果表面偏離螢幕,請縮減表面比例不超過 50%。
2 途徑從垂直置中開始,Y 軸轉移定義如下:
- 限制 y-shift,表面絕不會超過 8 dp 螢幕邊界
- 為避免表面突然停止運作,請使用減速內插器,並對應至 y shift 限制
3 在表面夠短時保留 8 dp 的邊界
如果是自訂動畫,您必須定義下列所有參數。
參數 |
值 |
內容脈絡 |
---|---|---|
X Shift 鍵 |
(螢幕寬度 / 20) - 8) dp |
最大偏移量,留下 8dp 邊界 |
Y 軸移動 |
(可用的螢幕高度 / 20) -8) dp |
最大偏移量,留下 8dp 邊界 |
縮放 |
90% |
視窗大小最小縮放 |
開發人員使用預測返回進度 API 實作自訂動畫時,會使用這些參數。
積極行動
當使用者手勢超過修訂點並放開時,系統會顯示動畫,確認動作已完成。
使用者快速做出手勢時,通常會視為快速滑過。這種互動方式可將高速率套用至螢幕元素,因此在返回預覽畫面中,系統會在執行修訂動畫前,暫時將途徑設為最大預覽狀態,藉此吸附該速率。
快速滑過強度會決定在執行修訂動畫前顯示的預覽動畫量。顯示的動畫類型取決於關閉內容,如影片 2 所示。
取消動作
影片 4 展示使用者在達到門檻前放開手指時會發生的情況,並展示了確認動作已取消的動畫。如果是全螢幕介面,視窗會在手勢開始前,迅速移動並縮放回原始邊緣到邊緣狀態。