प्रोग्रेस इंडिकेटर, किसी कार्रवाई की स्थिति को विज़ुअल तौर पर दिखाते हैं. ये ऐप्लिकेशन, उपयोगकर्ता का ध्यान खींचने के लिए, मोशन का इस्तेमाल करते हैं. इससे उपयोगकर्ता को पता चलता है कि कोई प्रोसेस पूरी होने में कितना समय बाकी है. जैसे, डेटा लोड होने या प्रोसेस होने में कितना समय बाकी है. इनसे यह भी पता चल सकता है कि प्रोसेस जारी है, लेकिन यह नहीं बताया जा सकता कि यह कब पूरी होगी.
यहां दिए गए इस्तेमाल के तीन उदाहरणों में, प्रोग्रेस इंडिकेटर का इस्तेमाल किया जा सकता है:
- कॉन्टेंट लोड करना: किसी नेटवर्क से कॉन्टेंट फ़ेच करते समय, जैसे कि उपयोगकर्ता की प्रोफ़ाइल के लिए इमेज या डेटा लोड करना.
- फ़ाइल अपलोड करना: उपयोगकर्ता को बताएं कि अपलोड में कितना समय लग सकता है.
- ज़्यादा समय तक प्रोसेस करना: जब कोई ऐप्लिकेशन ज़्यादा डेटा प्रोसेस कर रहा हो, तो उपयोगकर्ता को बताएं कि कुल डेटा का कितना हिस्सा प्रोसेस हो चुका है.
Material Design में, प्रोग्रेस इंडिकेटर दो तरह के होते हैं:
- तय करें: इससे पता चलता है कि कितनी प्रोग्रेस हुई है.
- तय नहीं है: प्रोग्रेस के बावजूद, लगातार ऐनिमेशन चलता रहता है.
इसी तरह, प्रोग्रेस इंडिकेटर इनमें से किसी एक तरह का हो सकता है:
- लीनियर: यह एक हॉरिज़ॉन्टल बार है, जो बाईं से दाईं ओर भरता है.
- सर्कुलर: यह एक ऐसा सर्कल होता है जिसका स्ट्रोक तब तक बढ़ता रहता है, जब तक वह सर्कल की पूरी परिधि को कवर नहीं कर लेता.
वर्शन के साथ काम करना
इसे लागू करने के लिए, ज़रूरी है कि आपके प्रोजेक्ट का minSDK एपीआई लेवल 21 या उससे ज़्यादा पर सेट हो.
डिपेंडेंसी
तय इंडिकेटर बनाना
यह इंडिकेटर यह दिखाता है कि कोई कार्रवाई पूरी हुई है या नहीं. इसके लिए, LinearProgressIndicator
या CircularProgressIndicator
कॉम्पोज़ेबल का इस्तेमाल करें और progress
पैरामीटर के लिए कोई वैल्यू पास करें.
नीचे दिए गए स्निपेट में, इस बारे में ज़्यादा जानकारी दी गई है. जब उपयोगकर्ता बटन दबाता है, तो ऐप्लिकेशन प्रोग्रेस इंडिकेटर दिखाता है. साथ ही, एक कोरयूटीन लॉन्च करता है, जो progress
की वैल्यू को धीरे-धीरे बढ़ाता है. इससे प्रोग्रेस इंडिकेटर, बारी-बारी से ऊपर की ओर बढ़ता है.
नतीजे
जब लोडिंग कुछ हद तक पूरी हो जाती है, तो ऊपर दिए गए उदाहरण में लीनियर इंडिकेटर इस तरह दिखता है:
इसी तरह, सर्कुलर इंडिकेटर इस तरह दिखता है:
इंडिकेटर बनाना
इंडिकेटर से यह पता नहीं चलता कि कोई कार्रवाई पूरी होने वाली है या नहीं. इसके बजाय, यह उपयोगकर्ता को यह बताने के लिए मोशन का इस्तेमाल करता है कि प्रोसेस जारी है. हालांकि, यह प्रोसेस पूरी होने के बारे में कोई जानकारी नहीं देता.
प्रोग्रेस इंडिकेटर बनाने के लिए, LinearProgressIndicator
या CircularProgressIndicator
कॉम्पोज़ेबल का इस्तेमाल करें. हालांकि, progress
के लिए कोई वैल्यू न दें. नीचे दिए गए उदाहरण में, बटन दबाकर, 'जानकारी नहीं है' इंडिकेटर को टॉगल करने का तरीका बताया गया है.
नतीजे
इंडिकेटर चालू होने पर, इसे लागू करने का उदाहरण यहां दिया गया है:
यहां इसी तरीके को लागू करने का उदाहरण दिया गया है. हालांकि, इसमें CircularProgressIndicator
के बजाय LinearProgressIndicator
का इस्तेमाल किया गया है.
प्रमुख बिंदु
हालांकि, Material Design के मुताबिक प्रोग्रेस इंडिकेटर बनाने के लिए, कई कॉम्पोज़ेबल का इस्तेमाल किया जा सकता है. हालांकि, उनके पैरामीटर में काफ़ी अंतर नहीं होता. आपको इन ज़रूरी पैरामीटर का ध्यान रखना चाहिए:
progress
: इंडिकेटर से पता चलने वाली मौजूदा प्रोग्रेस.0.0
और1.0
के बीचFloat
डालें.color
: इंंडिकेटर का रंग. यह कॉम्पोनेंट का वह हिस्सा होता है जो प्रोग्रेस दिखाता है. प्रोग्रेस पूरी होने पर, यह कॉम्पोनेंट को पूरी तरह से कवर कर लेता है.trackColor
: उस ट्रैक का रंग जिस पर इंडिकेटर बनाया गया है.
ऐसे संग्रह जिनमें यह गाइड शामिल है
यह गाइड, चुने गए क्विक गाइड के कलेक्शन का हिस्सा है. इसमें Android डेवलपमेंट के बड़े लक्ष्यों के बारे में बताया गया है: