2015-10-20 13 views
5

कई अन्य एंड्रॉइड डेवलपर्स के रूप में, मैं स्प्लैश स्क्रीन का एक बड़ा प्रशंसक नहीं हूं, लेकिन फिर भी अधिकांश ग्राहक उन्हें चाहते हैं क्योंकि आईफोन में उन्हें या कुछ अन्य "महान" कारण हैं।एंड्रॉइड, सफेद स्क्रीन के बिना एक स्पलैश स्क्रीन उर्फ ​​लॉन्च स्क्रीन कैसे बनाएं?

एंड्रॉयड दिशा निर्देशों में यह कहते हैं:

स्वाभाविक रूप से, आप हर किसी को जल्दी से रस्सियों सीखना चाहते हैं, शांत सुविधाओं की खोज, और अपने अनुप्रयोग का सबसे बाहर निकलना। इसलिए जब आप पहली बार ऐप खोलते हैं तो आप सभी नए उपयोगकर्ताओं को एक बार प्रारंभिक स्लाइड शो, वीडियो या स्प्लैश स्क्रीन पेश करने का लुत्फ उठा सकते हैं। या जब आप पहली बार कुछ विशेषताओं के साथ बातचीत करते हैं तो आपको उपयोगी टेक्स्ट बुलबुले या संवाद प्रदर्शित करने के विचार पर खींचा जा सकता है।

लिंक here, में पहले पैराग्राफ "अवांछित मदद न दिखाएं, बहुत सीमित मामलों को छोड़कर"

और अब सामग्री डिजाइन दिशा निर्देशों उनके द्वारा सुझाए गए में डेवलपर्स एक "Launch Screen"

उपयोग करने के लिए

रिक्त कैनवास प्रदर्शित करते समय अपना ऐप लॉन्च करने के कारण यह अनुमानित लोडिंग समय बढ़ाता है, प्लेसहोल्डर यूआई या ब्रांडेड लॉन्च स्क्रीन का उपयोग करने पर विचार करें।

मुझे लगता है कि एंड्रॉइड वेबसाइट अभी तक अपडेट नहीं की गई है। वैसे भी, Hangouts का अंतिम संस्करण (5.0.104 ...) में बहुत अच्छी और त्वरित लॉन्च स्क्रीन है। यह तुरंत मेरे नेक्सस 5 पर मार्शमलो के साथ प्रदर्शित हुआ। तो मेरा सवाल है, क्या ऐसा करने का एक "आधिकारिक" तरीका है?

मैं उदाहरणों की खोज कर रहा हूं लेकिन इस उदाहरण जैसे here जैसे वर्कअराउंड को छोड़कर कुछ भी नहीं मिला है जो मुझे लगता है कि स्पलैश स्क्रीन गतिविधि के साथ सबसे आम दृष्टिकोण है। हालांकि, यह आपकी श्वेत स्क्रीन दिखाए जाने से पहले ऐप नष्ट हो जाने पर एक श्वेत स्क्रीन दिखाता है।

यह second example एक विंडो पृष्ठभूमि के साथ एक थीम का उपयोग करता है जो तुरंत दिखाया जाता है लेकिन लगभग समान रूप से जल्दी गायब हो जाता है।

तो, Google Google Hangouts में लॉन्च स्क्रीन कैसे बनाता है जो बिना देरी के दिखाया गया है और बिना किसी सफेद स्क्रीन के दिखाया गया है? http://antonioleiva.com/branded-launch-screen/

:

उत्तर

12

मेरे काम से एक सहयोगी ने लंदन में गूगल मुख्यालय में एक सामग्री डिजाइन प्रशिक्षण और यह विषय में windowBackground उपयोग कर रहा है के रूप में आप अपने खुद के सवाल पर पोस्ट करने का अपने सरकारी तरह से किया गया है विचार यह है कि एक्सएमएल थीम फ्रेमवर्क द्वारा बहुत तेज दिखाई देती है, और जैसे ही आपका वास्तविक लेआउट लोड होता है, यह दिखाई देगा।

Hangouts या यहां तक ​​कि Google मानचित्र के बीच का अंतर यह है कि उनका लेआउट एक बहुत ही भारी/जटिल लेआउट है और वे HelloWorld ऐप से लोड करने में अधिक समय लेते हैं।

जैसे आपका ऐप बढ़ता है और अधिक जटिल हो जाता है और Application.onCreate या Activity.onCreate के दौरान अधिक तत्वों को प्रारंभ किया जा रहा है, तो आपकी स्लैश स्क्रीन भी लंबे समय तक दिखाई देगी।

संपादित करें:

मैं आधिकारिक "Android डेवलपर" प्रोफ़ाइल से Google+ पोस्ट पाया है और गूगल इंजीनियर इयान झील से repost एक ही बात कह रही:

https://plus.google.com/+AndroidDevelopers/posts/Z1Wwainpjhd https://plus.google.com/+IanLake/posts/SW7F2CJvAmU

+1

ps .: मेरा संपादन जांचें। मुझे इस पर कुछ जी + पोस्ट मिली हैं। – Budius

0

ऐसा इसलिए है क्योंकि पहला समाधान (http://antonioleiva.com/branded-launch-screen/) थीम को बदल रहा है। लेकिन आपकी गतिविधि के विजेट अभी तक क्रेट पर प्रस्तुत नहीं किए गए हैं। यही कारण है कि आप सफेद स्क्रीन देखते हैं। दूसरा उदाहरण एक अच्छा है। यदि आपको लंबे समय तक SPLASH_TIME को लंबे समय तक सेट करने की आवश्यकता है। DoInBackground फ़ंक्शन में थ्रेड.sleep (SPLASH_TIME) पंक्ति देखें। आप और इंतजार कर सकते हैं।

संबंधित मुद्दे