Android, अलग-अलग स्क्रीन साइज़ और पिक्सल डेंसिटी वाले कई डिवाइसों पर काम करता है. सिस्टम, आपके यूज़र इंटरफ़ेस को अलग-अलग स्क्रीन के हिसाब से अडजस्ट करने के लिए, स्केलिंग और साइज़ बदलने की बुनियादी सुविधाएं देता है. हालांकि, आपके पास अपने यूज़र इंटरफ़ेस को हर तरह की स्क्रीन के हिसाब से बेहतर तरीके से अडजस्ट करने के तरीके हैं.
इस पेज पर, Android पर उपलब्ध सुविधाओं के बारे में खास जानकारी दी गई है. इससे आपके ऐप्लिकेशन को इन सुविधाओं के हिसाब से अडजस्ट करने में मदद मिलेगी. अलग-अलग स्क्रीन वैरिएशन के लिए ऐप्लिकेशन बनाने के तरीके के बारे में ज़्यादा जानकारी के लिए, यहां दिया गया दस्तावेज़ देखें:
स्क्रीन के साइज़
स्क्रीन साइज़, आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) के लिए दिखने वाला स्पेस होता है. आपके ऐप्लिकेशन के हिसाब से स्क्रीन का साइज़, डिवाइस की स्क्रीन का असल साइज़ नहीं होता. ऐप्लिकेशन को स्क्रीन ओरिएंटेशन, नेविगेशन बार जैसी सिस्टम की सजावट, और विंडो कॉन्फ़िगरेशन में होने वाले बदलावों को ध्यान में रखना चाहिए. जैसे, जब उपयोगकर्ता मल्टी-विंडो मोड चालू करता है.
ज़रूरत के मुताबिक लेआउट
डिफ़ॉल्ट रूप से, Android आपके ऐप्लिकेशन के लेआउट का साइज़, मौजूदा स्क्रीन के हिसाब से बदल देता है. स्क्रीन साइज़ में छोटे-मोटे बदलाव होने पर, अपने लेआउट का साइज़ अच्छी तरह से बदलने में मदद पाने के लिए, अपने लेआउट को ज़रूरत के हिसाब से लागू करें. अपने यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट की पोज़िशन और साइज़ को हार्डकोड न करें. इसके बजाय, व्यू के साइज़ को स्ट्रेच करने दें और पैरंट व्यू या अन्य सिबलिंग व्यू के हिसाब से व्यू की पोज़िशन तय करें, ताकि लेआउट के बड़े होने पर भी आपका तय किया गया क्रम और साइज़ एक जैसा रहे.
फ़्लेक्सिबल लेआउट के बारे में ज़्यादा जानने के लिए, रिस्पॉन्सिव डिज़ाइन लेख पढ़ें.
अन्य लेआउट
फ़्लेक्सिबल लेआउट ज़रूरी है, लेकिन आपको अलग-अलग लेआउट भी डिज़ाइन करने होंगे, ताकि अलग-अलग डिवाइसों पर उपलब्ध जगह के हिसाब से उपयोगकर्ता अनुभव को ऑप्टिमाइज़ किया जा सके. Android की मदद से, वैकल्पिक लेआउट फ़ाइलें दी जा सकती हैं. सिस्टम, डिवाइस की मौजूदा स्क्रीन के साइज़ के आधार पर, रनटाइम के दौरान इन्हें लागू करता है.
अन्य लेआउट बनाने का तरीका जानने के लिए, अडैप्टिव डिज़ाइन लेख पढ़ें.
स्ट्रेच की जा सकने वाली इमेज
मौजूदा स्क्रीन में फ़िट होने के लिए, आपके लेआउट को स्ट्रेच करना पड़ता है. इसलिए, किसी भी लेआउट व्यू में अटैच किए गए बिटमैप को भी स्ट्रेच करें. हालांकि, किसी सामान्य बिटमैप को अपनी पसंद के मुताबिक दिशाओं में स्ट्रेच करने पर, स्केलिंग से जुड़ी गड़बड़ियां और टेढ़ी-मेढ़ी इमेज दिख सकती हैं.
इस समस्या को हल करने के लिए, Android नाइन-पैच बिटमैप के साथ काम करता है. इसमें, छोटे पिक्सल वाले ऐसे क्षेत्र तय किए जाते हैं जिन्हें स्ट्रेच किया जा सकता है. हालांकि, इमेज का बाकी हिस्सा स्केल नहीं किया जाता.
नाइन-पैच बिटमैप के बारे में ज़्यादा जानने के लिए, नाइन-पैच ड्रॉअबल लेख पढ़ें.
पिक्सल डेंसिटी
पिक्सल डेंसिटी, स्क्रीन के किसी फ़िज़िकल एरिया में पिक्सल की संख्या होती है. इसे डीपीआई (डॉट्स पर इंच) कहा जाता है. यह स्क्रीन रिज़ॉल्यूशन से अलग होता है. स्क्रीन पर मौजूद पिक्सल की कुल संख्या को रिज़ॉल्यूशन कहा जाता है.
डेंसिटी इंडिपेंडेंस
आपका ऐप्लिकेशन "डेंसिटी इंडिपेंडेंस" तब हासिल करता है, जब अलग-अलग पिक्सल डेंसिटी वाली स्क्रीन पर दिखाए जाने पर भी, उपयोगकर्ता के नज़रिए से आपके यूज़र इंटरफ़ेस (यूआई) डिज़ाइन का फ़िज़िकल साइज़ एक जैसा दिखता है. जैसा कि तीसरे चित्र में दिखाया गया है. डिसप्ले के घनत्व के हिसाब से डिज़ाइन करना ज़रूरी है, क्योंकि ऐसा न करने पर, बटन जैसे यूज़र इंटरफ़ेस (यूआई) एलिमेंट, कम घनत्व वाली स्क्रीन पर बड़ा और ज़्यादा घनत्व वाली स्क्रीन पर छोटा दिख सकता है.
Android, डेंसिटी-इंडिपेंडेंट पिक्सल (dp या dip) को मापने की यूनिट के तौर पर उपलब्ध कराता है. इसका इस्तेमाल, पिक्सल (px) के बजाय किया जाता है.
डेंसिटी-इंडिपेंडेंट पिक्सल के बारे में ज़्यादा जानने के लिए, डेंसिटी-इंडिपेंडेंट पिक्सल का इस्तेमाल करना लेख पढ़ें.
वैकल्पिक बिटमैप
अपनी इमेज को सभी स्क्रीन पर बेहतरीन तरीके से दिखाने के लिए, हर स्क्रीन डेंसिटी के हिसाब से वैकल्पिक बिटमैप उपलब्ध कराएं. अगर आपका ऐप्लिकेशन सिर्फ़ कम-डेंसिटी वाली स्क्रीन के लिए बिटमैप उपलब्ध कराता है, तो Android उन्हें हाई-डेंसिटी वाली स्क्रीन पर बड़ा कर देता है, ताकि इमेज स्क्रीन पर उतना ही फ़िज़िकल स्पेस घेर सकें. इससे बिटमैप में स्केलिंग के आर्टफ़ैक्ट दिख सकते हैं. इसलिए, आपके ऐप्लिकेशन में ज़्यादा रिज़ॉल्यूशन वाले वैकल्पिक बिटमैप शामिल होने चाहिए.
अन्य बिटमैप उपलब्ध कराने का तरीका जानने के लिए, अन्य बिटमैप उपलब्ध कराना लेख पढ़ें.
वेक्टर ग्राफ़िक
आइकॉन जैसी सामान्य इमेज के लिए, वेक्टर ग्राफ़िक का इस्तेमाल करके हर डेंसिटी के लिए अलग-अलग इमेज बनाने से बचा जा सकता है. वेक्टर ग्राफ़िक्स, पिक्सल के बजाय ज्यामितीय लाइन पाथ की मदद से इलस्ट्रेशन बनाते हैं. इसलिए, इन्हें आर्टफ़ैक्ट को स्केल किए बिना किसी भी साइज़ में बनाया जा सकता है.
वेक्टर ग्राफ़िक का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, वेक्टर ग्राफ़िक का इस्तेमाल करना लेख पढ़ें.
Wear OS, टीवी, कार, और ChromeOS
ऊपर दिए गए सुझाव, Android डिवाइसों के सभी फ़ॉर्म फ़ैक्टर पर लागू होते हैं. हालांकि, अगर आपको Wear OS, Android TV, Android Auto, Android Automotive OS या ChromeOS डिवाइसों के लिए ऐप्लिकेशन बनाना है, तो आपको ज़्यादा काम करना होगा.
इनमें से हर तरह के डिवाइस का अपना यूज़र इंटरैक्शन मॉडल होता है. आपके ऐप्लिकेशन में इस मॉडल को शामिल करना ज़रूरी है. कुछ मामलों में, आपको अपने ऐप्लिकेशन के उपयोगकर्ता अनुभव पर फिर से विचार करना होगा. जैसे, Wear OS के लिए ऐसा करना ज़रूरी है. साथ ही, आपको उस डिवाइस के हिसाब से ऐप्लिकेशन बनाना होगा. दूसरी ओर, Google Pixelbook जैसे ChromeOS डिवाइसों के साथ काम करने के लिए, आपको अपने मौजूदा ऐप्लिकेशन में ज़्यादा बदलाव करने की ज़रूरत नहीं पड़ सकती. इन बदलावों से, कीबोर्ड या माउस के इंटरैक्शन और बड़ी स्क्रीन के साथ काम करने की सुविधा मिलती है.
इन डिवाइसों के साथ काम करने के लिए, यहां दिए गए दस्तावेज़ देखें:
- Wear OS ऐप्लिकेशन बनाना
- टीवी ऐप्लिकेशन बनाना
- कार के लिए Android की खास जानकारी
- ChromeOS के लिए ऐप्लिकेशन की खास जानकारी
फ़ोल्डेबल डिवाइस
फ़ोल्ड किए जा सकने वाले डिवाइसों में आम तौर पर एक से ज़्यादा डिसप्ले होते हैं. साथ ही, डिवाइस को फ़ोल्ड करने के अलग-अलग स्टेटस के लिए, अलग-अलग डिसप्ले या डिसप्ले के कॉम्बिनेशन चालू होते हैं. अपने ऐप्लिकेशन को बदलते कॉन्फ़िगरेशन के हिसाब से बनाने के लिए, इस दस्तावेज़ में दिए गए दिशा-निर्देशों का पालन करें. हालांकि, कुछ कॉन्फ़िगरेशन में असामान्य आसपेक्ट रेशियो हो सकते हैं. इसलिए, यह जांच लें कि आपका ऐप्लिकेशन अलग-अलग डिवाइसों पर कैसा काम करता है.
आम तौर पर, ऐसा ऐप्लिकेशन जो अलग-अलग विंडो साइज़ के लिए मल्टी-विंडो मोड में अच्छी तरह से काम करता है वह फ़ोल्ड किए जा सकने वाले डिवाइसों पर भी अच्छी तरह से काम करता है.
फ़ोल्ड किए जा सकने वाले डिवाइसों के लिए ऐप्लिकेशन बनाने के बारे में ज़्यादा जानने के लिए, फ़ोल्ड किए जा सकने वाले डिवाइसों के बारे में जानें लेख पढ़ें.