उपयोगकर्ता के लिए एक प्रश्न का उत्तर देने के लिए लोडिंग स्थितियाँ मौजूद हैं: क्या कुछ हो रहा है? बिना उत्तर के, लोग दोबारा टैप करते हैं, पृष्ठ पुनः लोड करते हैं या छोड़ देते हैं। सही उत्तर इस बात पर निर्भर करता है कि वे कितनी देर तक प्रतीक्षा करते हैं।
बहुत कम प्रतीक्षा के लिए, लगभग एक सेकंड के दसवें हिस्से के तहत, अधिकांश लोगों को देरी का पता नहीं चलता है, इसलिए एक संकेतक केवल झिलमिलाहट जोड़ता है। एक सामान्य तकनीक यह है कि स्पिनर दिखाने से पहले थोड़ी देर इंतजार करना होता है, इसलिए तेज प्रतिक्रियाएं कभी भी दिखाई नहीं देती हैं।
एक सेकंड या कुछ सेकंड की प्रतीक्षा के लिए, फीडबैक दिखाएं जहां परिणाम दिखाई देगा। एक स्केलेटन स्क्रीन, आने वाले लेआउट की एक ग्रे रूपरेखा, सूचियों, कार्ड और प्रोफाइल के लिए अच्छी तरह से काम करती है क्योंकि यह दिखाती है कि क्या आ रहा है और लेआउट बदलाव को कम करता है। एक स्पिनर छोटे क्षेत्रों के लिए काम करता है या जब परिणाम का कोई पूर्वानुमानित आकार नहीं होता है।
अपलोड, निर्यात या एआई जेनरेशन जैसे लंबे कार्यों के लिए, यदि आप इसे माप सकते हैं तो वास्तविक प्रगति दिखाएं, समझाएं कि क्या हो रहा है और लोगों को रद्द करने या अन्य कार्य जारी रखने दें। एक स्पिनर जो बिना किसी अन्य जानकारी के एक मिनट के लिए घूमता है वह विफलता जैसा लगता है।
जिस नियंत्रण ने कार्रवाई शुरू की उसे भी एक राज्य की आवश्यकता है। एक सबमिट बटन जो लोडिंग स्थिति में स्विच हो जाता है, और दो बार दबाया नहीं जा सकता, डुप्लिकेट ऑर्डर और संदेशों को रोकता है। जब लोडिंग समाप्त हो जाए, तो चुपचाप डिफ़ॉल्ट पर लौटने के बजाय स्पष्ट रूप से सफलता या त्रुटि की ओर बढ़ें।
एनीमेशन यहां मदद करता है, लेकिन इसे एक लूप में शांत और छोटा रखें, और कम गति वाली सेटिंग का सम्मान करें। ExodeUI, जिसे हम बनाते हैं, आपको एक लोडर या एक बटन को एक फ़ाइल में लोडिंग, सफलता और त्रुटि स्थिति के साथ डिज़ाइन करने देता है, जिसके बीच आपका कोड स्विच होता है।