Android 7.0 और इसके बाद के वर्शन वाले डिवाइसों पर, एक साथ कई ऐप्लिकेशन दिखाए जा सकते हैं. इसके लिए, मल्टी-विंडो की सुविधा का इस्तेमाल किया जाता है. Android में, मल्टी-विंडो मोड के तीन कॉन्फ़िगरेशन काम करते हैं:
- स्प्लिट-स्क्रीन, डिफ़ॉल्ट तौर पर कई विंडो इस्तेमाल करने की सुविधा है. इसमें दो ऐक्टिविटी पैनल होते हैं, जहां उपयोगकर्ता ऐप्लिकेशन डाल सकते हैं.
- फ़्रीफ़ॉर्म की मदद से, उपयोगकर्ता ऐक्टिविटी पैनल का साइज़ डाइनैमिक तौर पर बदल सकते हैं. साथ ही, स्क्रीन पर दो से ज़्यादा ऐप्लिकेशन देख सकते हैं.
- पिक्चर में पिक्चर (पीआईपी) की सुविधा की मदद से, Android डिवाइसों पर, वीडियो कॉन्टेंट को छोटी विंडो में चलाया जा सकता है. ऐसा तब किया जा सकता है, जब उपयोगकर्ता किसी दूसरे ऐप्लिकेशन का इस्तेमाल कर रहा हो.
लागू करना
Android 7.0 और इसके बाद के वर्शन में, एक से ज़्यादा विंडो इस्तेमाल करने की सुविधा डिफ़ॉल्ट रूप से चालू रहती है.
इसे बंद करने के लिए, अपने डिवाइस की config.xml फ़ाइल में config_supportsMultiWindow
फ़्लैग को false
पर सेट करें.
कम रैम वाले सभी डिवाइसों (ActivityManager.isLowRam()
का एलान करने वाले डिवाइसों) पर, मल्टी-विंडो की सुविधा डिफ़ॉल्ट रूप से बंद रहती है. कम रैम वाले डिवाइस, config_supportsMultiWindow
फ़्लैग की वैल्यू को अनदेखा करते हैं.
स्प्लिट स्क्रीन
मल्टी-विंडो मोड का डिफ़ॉल्ट अनुभव, स्प्लिट-स्क्रीन मोड होता है. इसमें डिवाइस के बीच में, सिस्टम के यूज़र इंटरफ़ेस (यूआई) को पोर्ट्रेट या लैंडस्केप मोड में बांटा जाता है. उपयोगकर्ता, डिवाइस के ओरिएंटेशन के आधार पर, विंडो को बड़ा या छोटा कर सकते हैं. इसके लिए, उन्हें विभाजन वाली लाइन को एक तरफ़ से दूसरी तरफ़ या ऊपर से नीचे खींचकर छोड़ना होगा.
स्प्लिट-स्क्रीन की सुविधा चालू करने के बाद, डिवाइस बनाने वाली कंपनियां, फ़्रीफ़ॉर्म या पिन किए गए विंडो की सुविधा चालू कर सकती हैं.
Android 8.0 और उसके बाद के वर्शन में, स्प्लिट-स्क्रीन की सुविधा को बेहतर बनाया गया है. इसके तहत, जब उपयोगकर्ता होम पर टैप करता है, तो लॉन्चर को छोटा कर दिया जाता है. लागू करने से जुड़ी जानकारी के लिए, स्प्लिट-स्क्रीन इंटरैक्शन देखें.
Freeform
config_supportsMultiWindow
फ़्लैग की मदद से, कई विंडो वाले मोड को चालू करने के बाद, डिवाइस मैन्युफ़ैक्चरर, फ़्रीफ़ॉर्म विंडो मोड की अनुमति दे सकते हैं. यह मोड, टैबलेट जैसे बड़े डिवाइसों पर सबसे ज़्यादा काम का होता है.
फ़्रीफ़ॉर्म मोड का इस्तेमाल करने के लिए, /android/frameworks/base/core/java/android/content/pm/PackageManager.java
में
PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT
सिस्टम की सुविधा को चालू करें
और
config.xml.
में config_freeformWindowManagement
को true
पर सेट करें
<bool name="config_freeformWindowManagement">true</bool>
पिक्चर में पिक्चर
config_supportsMultiWindow
फ़्लैग की मदद से, कई विंडो वाले मोड को चालू करने के बाद, डिवाइस बनाने वाली कंपनियां पिक्चर में पिक्चर की सुविधा को चालू कर सकती हैं. इससे उपयोगकर्ता, अन्य गतिविधियां ब्राउज़ करते समय वीडियो देख पाएंगे. यह सुविधा, मुख्य रूप से Android Television डिवाइसों के लिए बनाई गई है. हालांकि, यह सुविधा अन्य डिवाइसों पर भी काम कर सकती है.
पीआईपी की सुविधा इस्तेमाल करने के लिए, /android/frameworks/base/core/java/android/content/pm/PackageManager.java
में
PackageManager#FEATURE_PICTURE_IN_PICTURE
सिस्टम की सुविधा चालू करें.
Android 8.0 और इसके बाद के वर्शन वाले डिवाइसों पर, पीआईपी की सुविधा को लागू करने के बारे में ज़्यादा जानने के लिए, पिक्चर में पिक्चर पेज पर जाएं.
सिस्टम यूज़र इंटरफ़ेस (यूआई)
मल्टी-विंडो डेवलपर दस्तावेज़ के मुताबिक, सभी स्टैंडर्ड सिस्टम यूज़र इंटरफ़ेस (यूआई) के साथ काम करना चाहिए.
ऐप्लिकेशन
पहले से लोड किए गए ऐप्लिकेशन के लिए मल्टी-विंडो मोड का इस्तेमाल करने के लिए, Android डेवलपर दस्तावेज़ देखें.
पुष्टि करें
मल्टी-विंडो मोड को लागू करने की पुष्टि करने के लिए, इससे जुड़े सीटीएस टेस्ट चलाएं और मल्टी-विंडो मोड की जांच करने के निर्देशों का पालन करें.
Android 7.0 के लिए, जांचें
/platform/cts/hostsidetests/services/activitymanager/src/android/server/cts
में मौजूद हैं.
Android 8.0 और उसके बाद के वर्शन में, जांचें
/platform/cts/tests/framework/base/activitymanager/src/android/server/am
में होती हैं.