एंड्रॉइड 3.0 चलाने वाली गोलियों की पहली पीढ़ी के लिए, टैबलेट लेआउट को घोषित करने का उचित तरीका था कि उन्हें एक निर्देशिका में एक्सलर्ज कॉन्फ़िगरेशन क्वालिफायर (उदाहरण के लिए, रेस / लेआउट-एक्सलर्ज /) के साथ रखा जाए। अन्य प्रकार की टैबलेट और स्क्रीन आकार को समायोजित करने के लिए - विशेष रूप से, 7 "टैबलेट - एंड्रॉइड 3.2 अधिक असतत स्क्रीन आकारों के लिए संसाधनों को निर्दिष्ट करने के लिए एक नया तरीका पेश करता है। नई तकनीक आपके लेआउट की ज़रूरतों के अनुसार अंतरिक्ष की मात्रा पर आधारित है (जैसे) चौड़ाई का 600dp), अपने लेआउट को सामान्यीकृत आकार समूहों (जैसे कि बड़े या बड़े आकार) में फिट करने की कोशिश करने के बजाय।
7 "टैबलेट के लिए डिज़ाइन करने का कारण सामान्य आकार के समूहों का उपयोग करते समय मुश्किल है कि एक 7" टैबलेट तकनीकी रूप से एक ही समूह में 5 "हैंडसेट (बड़े समूह) के रूप में है। जबकि ये दोनों डिवाइस आकार में एक दूसरे के करीब लग रहे हैं। किसी एप्लिकेशन के UI के लिए स्थान की मात्रा काफी भिन्न है, जैसा कि उपयोगकर्ता इंटरैक्शन की शैली है। इस प्रकार, एक 7 "और 5" स्क्रीन को हमेशा एक ही लेआउट का उपयोग नहीं करना चाहिए। आपके लिए इन के लिए अलग-अलग लेआउट प्रदान करना संभव है। दो प्रकार की स्क्रीन, एंड्रॉइड अब आपको अपने लेआउट संसाधनों को उस चौड़ाई और / या ऊंचाई के आधार पर निर्दिष्ट करने की अनुमति देता है जो वास्तव में आपके एप्लिकेशन के लेआउट के लिए उपलब्ध है, डीपी इकाइयों में निर्दिष्ट है।
उदाहरण के लिए, आपके द्वारा टेबलेट-शैली के उपकरणों के लिए उपयोग किए जाने वाले लेआउट को डिज़ाइन करने के बाद, आप यह निर्धारित कर सकते हैं कि स्क्रीन 600dp से कम चौड़ी होने पर लेआउट अच्छी तरह से काम करना बंद कर देता है। यह सीमा इस प्रकार न्यूनतम आकार बन जाती है जिसकी आपको अपने टेबलेट लेआउट के लिए आवश्यकता होती है। जैसे, आप अब निर्दिष्ट कर सकते हैं कि इन लेआउट संसाधनों का उपयोग केवल तब किया जाना चाहिए जब आपके एप्लिकेशन के UI के लिए कम से कम 600dp चौड़ाई उपलब्ध हो।
आपको अपने न्यूनतम आकार के रूप में या तो एक चौड़ाई और डिजाइन चुनना चाहिए, या परीक्षण करना चाहिए कि आपके लेआउट का पूरा होने के बाद सबसे छोटा चौड़ाई क्या है।
नोट: याद रखें कि इन नए आकार एपीआई के साथ उपयोग किए जाने वाले सभी आंकड़े घनत्व-स्वतंत्र पिक्सेल (डीपी) मान हैं और आपके लेआउट आयामों को हमेशा डीपी इकाइयों का उपयोग करके परिभाषित किया जाना चाहिए, क्योंकि आप जो परवाह करते हैं, वह सिस्टम के बाद उपलब्ध स्क्रीन स्पेस की मात्रा है। स्क्रीन घनत्व के लिए खाते (कच्चे पिक्सेल रिज़ॉल्यूशन का उपयोग करने के विपरीत)। घनत्व-स्वतंत्र पिक्सेल के बारे में अधिक जानकारी के लिए, पहले इस दस्तावेज़ में नियम और अवधारणाएँ पढ़ें। नए आकार के क्वालीफायर का उपयोग करना
आपके लेआउट के लिए उपलब्ध स्थान के आधार पर आपके द्वारा निर्दिष्ट विभिन्न संसाधन कॉन्फ़िगरेशन तालिका 2 में संक्षेपित किए गए हैं। ये नए क्वालिफ़ायर आपको पारंपरिक स्क्रीन आकार समूहों (छोटे, सामान्य,) की तुलना में आपके द्वारा समर्थित विशिष्ट स्क्रीन आकारों पर अधिक नियंत्रण प्रदान करते हैं। बड़े, और xlarge)।
नोट: इन क्वालीफायर का उपयोग करके आपके द्वारा निर्दिष्ट आकार वास्तविक स्क्रीन आकार नहीं हैं। बल्कि, आकार dp इकाइयों में चौड़ाई या ऊंचाई के लिए हैं जो आपकी गतिविधि की खिड़की के लिए उपलब्ध हैं। एंड्रॉइड सिस्टम सिस्टम UI के लिए कुछ स्क्रीन का उपयोग कर सकता है (जैसे कि स्क्रीन के निचले भाग में सिस्टम बार या शीर्ष पर स्थिति पट्टी), इसलिए स्क्रीन के कुछ आपके लेआउट के लिए उपलब्ध नहीं हो सकते हैं। इस प्रकार, आपके द्वारा घोषित आकार विशेष रूप से आपकी गतिविधि के लिए आवश्यक आकारों के बारे में होना चाहिए - सिस्टम UI द्वारा उपयोग किए जाने वाले किसी भी स्थान के लिए सिस्टम खातों की घोषणा करते समय कि यह आपके लेआउट के लिए कितना स्थान प्रदान करता है। यह भी सावधान रहें कि एक्शन बार को आपके एप्लिकेशन के विंडो स्पेस का एक हिस्सा माना जाता है, हालांकि आपका लेआउट इसे घोषित नहीं करता है, इसलिए यह आपके लेआउट के लिए उपलब्ध स्थान को कम कर देता है और आपको अपने डिजाइन में इसका हिसाब देना होगा।
तालिका 2. स्क्रीन आकार के लिए नया कॉन्फ़िगरेशन क्वालिफायर (एंड्रॉइड 3.2 में पेश किया गया)। स्क्रीन कॉन्फ़िगरेशन क्वालिफायर मान का विवरण सबसे छोटा WIDD swdp है
उदाहरण: sw600dp sw720dp
स्क्रीन का मूलभूत आकार, जैसा कि उपलब्ध स्क्रीन क्षेत्र के सबसे छोटे आयाम द्वारा इंगित किया गया है। विशेष रूप से, डिवाइस की सबसे छोटी स्क्रीन स्क्रीन की उपलब्ध ऊंचाई और चौड़ाई में सबसे छोटी है (आप इसे स्क्रीन के लिए "सबसे छोटी संभव चौड़ाई" के रूप में भी सोच सकते हैं)। आप इस क्वालिफायर का उपयोग यह सुनिश्चित करने के लिए कर सकते हैं कि स्क्रीन की वर्तमान अभिविन्यास की परवाह किए बिना, आपके आवेदन की चौड़ाई कम से कम dps है जो इसके UI के लिए उपलब्ध है।
उदाहरण के लिए, यदि आपके लेआउट के लिए आवश्यक है कि स्क्रीन क्षेत्र का उसका सबसे छोटा आयाम हर समय कम से कम 600 dp हो, तो आप लेआउट संसाधन, रेस / लेआउट-स्व 600dp / बनाने के लिए इस क्वालिफायर का उपयोग कर सकते हैं। सिस्टम इन संसाधनों का उपयोग केवल तब करेगा जब उपलब्ध स्क्रीन का सबसे छोटा आयाम कम से कम 600dp हो, चाहे 600dp पक्ष उपयोगकर्ता-कथित ऊंचाई या चौड़ाई हो। छोटी से छोटी डिवाइस की एक निश्चित स्क्रीन आकार विशेषता है; स्क्रीन के ओरिएंटेशन में बदलाव होने पर डिवाइस का सबसे छोटा वर्जन नहीं बदलता है।
डिवाइस की सबसे छोटी चौड़ाई स्क्रीन की सजावट और सिस्टम UI को ध्यान में रखती है। उदाहरण के लिए, यदि डिवाइस में स्क्रीन पर कुछ लगातार यूआई तत्व होते हैं जो अंतरिक्ष में छोटे से धुरी के साथ खाते हैं, तो सिस्टम वास्तविक स्क्रीन आकार की तुलना में सबसे छोटा होने की घोषणा करता है, क्योंकि वे स्क्रीन पिक्सेल आपके यूआई के लिए उपलब्ध नहीं हैं।
यह सामान्यीकृत स्क्रीन आकार क्वालिफायर (छोटा, सामान्य, बड़ा, बड़ा) का एक विकल्प है जो आपको अपने यूआई के लिए उपलब्ध प्रभावी आकार के लिए असतत संख्या को परिभाषित करने की अनुमति देता है। सामान्य स्क्रीन के आकार को निर्धारित करने के लिए छोटी से छोटी चौड़ाई का उपयोग करना उपयोगी है क्योंकि चौड़ाई अक्सर लेआउट को डिजाइन करने में ड्राइविंग कारक होती है। एक यूआई अक्सर लंबवत स्क्रॉल करेगा, लेकिन क्षैतिज रूप से आवश्यक न्यूनतम स्थान पर काफी कठोर बाधाएं हैं। उपलब्ध चौड़ाई यह भी निर्धारित करने में महत्वपूर्ण कारक है कि टैबलेट के लिए हैंडसेट या मल्टी-पैन लेआउट के लिए एक-फलक लेआउट का उपयोग करना है या नहीं। इस प्रकार, आपको सबसे अधिक संभावना है कि प्रत्येक डिवाइस पर सबसे छोटी संभव चौड़ाई क्या होगी। उपलब्ध स्क्रीन चौड़ाई wdp
उदाहरण: w720dp w1024dp
Dp इकाइयों में न्यूनतम उपलब्ध चौड़ाई निर्दिष्ट करता है, जिस पर संसाधनों का उपयोग किया जाना चाहिए-मूल्य द्वारा परिभाषित। चौड़ाई के लिए सिस्टम का संबंधित मूल्य तब बदलता है जब स्क्रीन का ओरिएंटेशन आपके UI के लिए उपलब्ध वर्तमान वास्तविक चौड़ाई को प्रतिबिंबित करने के लिए लैंडस्केप और पोर्ट्रेट के बीच स्विच करता है।
यह बहु-फलक लेआउट का उपयोग करने के लिए निर्धारित करने के लिए अक्सर उपयोगी होता है, क्योंकि टैबलेट डिवाइस पर भी, आप अक्सर चित्र अभिविन्यास के लिए एक ही बहु-फलक लेआउट नहीं चाहेंगे जैसा कि आप परिदृश्य के लिए करते हैं। इस प्रकार, आप लेआउट के लिए आवश्यक न्यूनतम चौड़ाई को निर्दिष्ट करने के लिए इसका उपयोग कर सकते हैं, बजाय स्क्रीन आकार और अभिविन्यास क्वालिफायर दोनों का उपयोग करने के। उपलब्ध स्क्रीन ऊंचाई hdp
उदाहरण: h720dp h1024dp आदि।
Dp इकाइयों में न्यूनतम स्क्रीन ऊंचाई निर्दिष्ट करता है, जिस पर संसाधनों का उपयोग किया जाना चाहिए - मूल्य द्वारा परिभाषित। ऊंचाई के लिए सिस्टम का संबंधित मूल्य तब बदलता है जब स्क्रीन का ओरिएंटेशन आपके UI के लिए उपलब्ध वर्तमान वास्तविक ऊंचाई को प्रतिबिंबित करने के लिए परिदृश्य और चित्र के बीच स्विच करता है।
अपने लेआउट द्वारा आवश्यक ऊँचाई को परिभाषित करने के लिए इसका उपयोग उसी तरह से उपयोगी है जैसे कि wdp स्क्रीन की आकार और अभिविन्यास क्वालिफायर दोनों का उपयोग करने के बजाय आवश्यक चौड़ाई को परिभाषित करने के लिए है। हालाँकि, अधिकांश ऐप्स को इस क्वालिफायर की आवश्यकता नहीं होगी, यह देखते हुए कि यूआई अक्सर लंबवत स्क्रॉल करते हैं और इस प्रकार अधिक लचीले होते हैं कि कितनी ऊंचाई उपलब्ध है, जबकि चौड़ाई अधिक कठोर है।
स्क्रीन आकार समूहों का उपयोग करने की तुलना में इन क्वालीफायर का उपयोग करना अधिक जटिल लग सकता है, यह आपके यूआई के लिए आवश्यकताओं को निर्धारित करने के बाद वास्तव में सरल होना चाहिए। जब आप अपना यूआई डिज़ाइन करते हैं, तो मुख्य रूप से आप जिस चीज़ की परवाह करते हैं, वह वास्तविक आकार होता है, जिस पर आपका एप्लिकेशन हैंडसेट-स्टाइल यूआई और टैबलेट-स्टाइल यूआई के बीच स्विच करता है, जो कई पैन का उपयोग करता है। इस स्विच का सटीक बिंदु आपके विशेष डिज़ाइन पर निर्भर करेगा - शायद आपको अपने टेबलेट लेआउट के लिए 720dp चौड़ाई चाहिए, शायद 600dp पर्याप्त है, या 480dp, या इन दोनों के बीच कुछ संख्या। तालिका 2 में इन क्वालीफायर का उपयोग करके, आप उस सटीक आकार के नियंत्रण में हैं जिस पर आपका लेआउट बदलता है।
इन आकार कॉन्फ़िगरेशन क्वालिफायर के बारे में अधिक चर्चा के लिए, संसाधन संसाधन प्रदान करना देखें। कॉन्फ़िगरेशन उदाहरण
विभिन्न प्रकार के उपकरणों के लिए अपने कुछ डिज़ाइनों को लक्षित करने में आपकी मदद करने के लिए, यहाँ कुछ विशिष्ट स्क्रीन चौड़ाई के लिए नंबर दिए गए हैं:
320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).
480dp: a tweener tablet like the Streak (480x800 mdpi).
600dp: a 7” tablet (600x1024 mdpi).
720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).
तालिका 2 से आकार क्वालीफायर का उपयोग करते हुए, आपका एप्लिकेशन आपके किसी भी संख्या में चौड़ाई और / या ऊँचाई का उपयोग करके हैंडसेट और टैबलेट के लिए आपके विभिन्न लेआउट संसाधनों के बीच स्विच कर सकता है। उदाहरण के लिए, यदि 600dp आपके टेबलेट लेआउट द्वारा समर्थित सबसे छोटी उपलब्ध चौड़ाई है, तो आप लेआउट के इन दो सेटों को प्रदान कर सकते हैं:
रेस / लेआउट / main_activity.xml # हैंडसेट के लिए रेस / लेआउट- sw600dp / main_activity.xml # गोलियों के लिए
इस स्थिति में, टेबलेट लेआउट को लागू करने के लिए उपलब्ध स्क्रीन स्पेस की सबसे छोटी चौड़ाई 600dp होनी चाहिए।
ऐसे अन्य मामलों के लिए जिनमें आप अपने UI को 7 ”और 10” टैबलेट जैसे आकारों के बीच अंतर करने के लिए अनुकूलित करना चाहते हैं, आप अतिरिक्त छोटी चौड़ाई के लेआउट निर्धारित कर सकते हैं:
रेस / लेआउट / main_activity.xml # हैंडसेट के लिए (600dp उपलब्ध चौड़ाई से कम) रेस / लेआउट-स्व 600dp / main_activity.xml # 7 के लिए (600dp चौड़ी और बड़ी) रेस / लेआउट- sw720dp / main_activity.xml
10 ”गोलियों के लिए (720dp चौड़ा और बड़ा)
ध्यान दें कि उदाहरण के संसाधनों के पिछले दो सेट "सबसे छोटी चौड़ाई" क्वालिफायर, swdp का उपयोग करते हैं, जो डिवाइस के वर्तमान अभिविन्यास की परवाह किए बिना, स्क्रीन के दो पक्षों में से सबसे छोटे को निर्दिष्ट करता है। इस प्रकार, swdp का उपयोग करना स्क्रीन के अभिविन्यास को अनदेखा करके आपके लेआउट के लिए उपलब्ध समग्र स्क्रीन आकार को निर्दिष्ट करने का एक सरल तरीका है।
हालाँकि, कुछ मामलों में, आपके लेआउट के लिए जो महत्वपूर्ण हो सकता है वह वर्तमान में कितनी चौड़ाई या ऊँचाई पर उपलब्ध है। उदाहरण के लिए, यदि आपके पास दो टुकड़ों में दो टुकड़े हैं, जिनके किनारे दो टुकड़े हैं, तो आप इसका उपयोग तब करना चाह सकते हैं जब स्क्रीन कम से कम 600dp चौड़ाई प्रदान करती है, चाहे वह उपकरण लैंडस्केप या पोर्ट्रेट ओरिएंटेशन में हो। इस मामले में, आपके संसाधन इस तरह दिख सकते हैं:
रेस / लेआउट / main_activity.xml # हैंडसेट के लिए (600dp से कम चौड़ाई उपलब्ध) रेस / लेआउट- w600dp / main_activity.xml # मल्टी-फलक (600dp उपलब्ध चौड़ाई या अधिक के साथ कोई भी स्क्रीन)
ध्यान दें कि दूसरा सेट "उपलब्ध चौड़ाई" क्वालीफायर, wdp का उपयोग कर रहा है। इस तरह, एक डिवाइस वास्तव में स्क्रीन के उन्मुखीकरण के आधार पर दोनों लेआउट का उपयोग कर सकता है (यदि उपलब्ध चौड़ाई एक अभिविन्यास में कम से कम 600dp है और अन्य अभिविन्यास में 600dp से कम है)।
यदि उपलब्ध ऊंचाई आपके लिए चिंता का विषय है, तो आप एचडीपी क्वालिफायर का उपयोग करके भी ऐसा कर सकते हैं। या, यहां तक कि अगर आप वास्तव में विशिष्ट होने की जरूरत wdp और hdp क्वालिफायर भी गठबंधन।