読み込み状態は、ユーザーに対する 1 つの質問、つまり何か起こっていますか? に答えるために存在します。答えがなければ、ユーザーはもう一度タップするか、ページをリロードするか、離れてしまいます。正しい答えは、どれくらい待つかによって決まります。
非常に短い待機 (約 10 分の 1 秒未満) の場合、ほとんどの人は遅延に気付かないため、インジケーターはちらつきを加えるだけです。一般的なテクニックは、スピナーを表示する前に少し待つことです。そのため、速い応答ではスピナーがまったく表示されません。
1 秒または数秒の待機の場合、結果が表示される場所にフィードバックを表示します。スケルトン画面 (今後のレイアウトの灰色の輪郭) は、今後何が来るかを示し、レイアウトの変更を減らすため、リスト、カード、プロフィールに適しています。スピナーは、小さな領域、または結果の形状が予測できない場合に機能します。
アップロード、エクスポート、AI 生成などの長時間のタスクについては、測定できる場合は実際の進捗状況を示し、何が起こっているかを説明し、キャンセルするか他の作業を続行できるようにします。何も情報を与えずに 1 分間回転するスピナーは、失敗したように感じます。
アクションを開始したコントロールにも状態が必要です。送信ボタンは読み込み状態に切り替わり、2 回押すことができないため、注文やメッセージの重複を防ぎます。読み込みが終了したら、黙ってデフォルトに戻るのではなく、成功またはエラーに明確に移行します。
ここではアニメーションが役に立ちますが、ループ内では落ち着いて短くし、モーションを減らした設定を尊重してください。私たちが作成した ExodeUI を使用すると、ロード、成功、エラーの状態を 1 つのファイル内で切り替えてコードで切り替えるローダーまたはボタンを設計できます。