スワイプして閉じるアニメーションは、ユーザーが前のページに移動するときの遷移を表現します。
スワイプして閉じるアニメーションの詳細は、RSB の押下と同様です。アニメーションの進行を最大 50%、指で制御します。
アプリビューには、閉じる操作にリンクされている追加のアニメーションがあります。アプリビューに表示される動きの量は、指を動かす必要のある距離とまったく同じというわけではありません。アプリビューが画面の端から離れないようにし、ある程度の抵抗を持たせてスクイーズのような効果を表示します。
実装
ナビゲーション ライブラリの SwipeDismissableNavHost
は、デフォルトでスワイプして閉じるナビゲーション ジェスチャーを提供します。
ナビゲーション ライブラリを使用していない場合でも、BasicSwipeToDismissBox
を直接使用することで、この全画面ナビゲーション ジェスチャーをサポートできます。
デザイン
スワイプして閉じる操作を設計する際は、次の 2 つの原則に留意してください。
画面の端
スワイプ可能な他の UI 要素(ページ分けされたアプリビューなど)を考慮します。スワイプして閉じることができる場合は、画面の端の 20% を予約して、その動きをトリガーします。
コンテンツが水平方向にスクロール可能な場合の画面端スワイプの例については、Wear OS 向け Compose マテリアルのコードベースの例をご覧ください。
戻る操作かアプリビューに残る操作かのしきい値
ユーザーが画面幅の 50% 以上を指でドラッグした場合、アプリは残りのスワイプバック アニメーションをトリガーする必要があります。これより小さい場合、アプリは完全なアプリビューにスナップして戻ります。
操作が速い場合は、50% のしきい値ルールを無視してスワイプバックします。