टियर 2 — अडैप्टिव ऑप्टिमाइज़ेशन

ऑप्टिमाइज़ किए गए ऐप्लिकेशन, सभी तरह की स्क्रीन और डिवाइस की स्थितियों के साथ पूरी तरह से काम करते हैं. इनमें स्टेट ट्रांज़िशन भी शामिल हैं.

क्वालिटी के तीन टियर को वर्टिकल तौर पर स्टैक की गई लेयर के तौर पर दिखाया गया है. इसमें बीच वाले टियर को हाइलाइट किया गया है.

दिशा-निर्देश

अपने ऐप्लिकेशन को इस तरह से बनाएं कि वह सभी डिसप्ले साइज़ और डिवाइस की स्थितियों के हिसाब से काम कर सके.

उपयोगकर्ता इंटरफ़ेस

दिशा-निर्देश का आईडी टेस्ट आईडी ब्यौरा
Responsive_adaptive_layouts T-Layout_Flow

ऐप्लिकेशन में रिस्पॉन्सिव और अडैप्टिव लेआउट हैं, जिन्हें सभी स्क्रीन साइज़ के लिए डिज़ाइन किया गया है. सभी लेआउट रिस्पॉन्सिव होते हैं. इसके बारे में ज़्यादा जानने के लिए, अपने यूज़र इंटरफ़ेस (यूआई) को रिस्पॉन्सिव लेआउट पर माइग्रेट करना लेख पढ़ें. अडैप्टिव लेआउट को लागू करने का तरीका, विंडो के साइज़ क्लास से तय होता है.

ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) में ये चीज़ें शामिल हो सकती हैं:

  • नेविगेशन रेल की नई सुविधाएं, जो बड़ी विंडो के साइज़ के हिसाब से फ़ुल नेविगेशन पैनल में बदल जाती हैं
  • ग्रिड लेआउट, जो विंडो के साइज़ में होने वाले बदलावों के हिसाब से कॉलम की संख्या को बढ़ाते या घटाते हैं
  • बड़ी स्क्रीन पर टेक्स्ट के कॉलम
  • ट्रेलिंग-एज पैनल, डेस्कटॉप स्क्रीन के साइज़ पर डिफ़ॉल्ट रूप से खुले होते हैं. हालांकि, छोटी स्क्रीन पर ये बंद होते हैं

बड़ी स्क्रीन पर ज़्यादा जगह का फ़ायदा पाने के लिए, मल्टी-पैन लेआउट (जहां ज़रूरी हो) बनाएं. कैननिकल लेआउट देखें.

गतिविधि एम्बेड करने की सुविधा की मदद से, गतिविधि पर आधारित ऐप्लिकेशन, एक से ज़्यादा पैनल वाले लेआउट बना सकते हैं. इसके लिए, वे गतिविधियों को एक साथ दिखाते हैं.

UI_Secondary_Elements T-Layout_Flow

मोडल, कॉन्टेक्स्ट मेन्यू, और अन्य सेकंडरी एलिमेंट को सभी तरह की स्क्रीन और डिवाइस की स्थितियों के लिए सही तरीके से फ़ॉर्मैट किया गया है. उदाहरण के लिए:

  • बड़ी स्क्रीन पर बॉटम शीट पूरी चौड़ाई में नहीं दिखती हैं. (ज़्यादा चौड़ाई लागू करें, ताकि इमेज स्ट्रेच न हो.) Sheets: bottom में Behavior देखें.
  • बड़ी स्क्रीन पर बटन पूरी चौड़ाई में नहीं दिख रहे हैं. बटन में व्यवहार देखें.
  • टेक्स्ट फ़ील्ड और बॉक्स, बड़ी स्क्रीन पर पूरी चौड़ाई में नहीं दिखते. टेक्स्ट फ़ील्ड में व्यवहार देखें.
  • छोटे बदलाव वाले मेन्यू या मॉडल, पूरी स्क्रीन को कवर नहीं करते हैं. साथ ही, उपयोगकर्ता के लिए कॉन्टेक्स्ट को ज़्यादा से ज़्यादा बनाए रखते हैं. मेन्यू देखें.
  • कॉन्टेक्स्ट मेन्यू, उपयोगकर्ता के चुने गए आइटम के बगल में दिखते हैं. मेन्यू में "कॉन्टेक्स्ट मेन्यू" विषय देखें.
  • बड़ी स्क्रीन पर बेहतर एर्गोनॉमिक्स के लिए, नेविगेशन बार की जगह नेविगेशन रेल का इस्तेमाल किया जाता है. नेविगेशन रेल देखें.
  • नेविगेशन ड्रॉअर को, बड़े किए गए नेविगेशन रेल में अपडेट किया गया है. नेविगेशन पैनल देखें.
  • डायलॉग बॉक्स को नए मटीरियल कॉम्पोनेंट में अपडेट किया गया है. डायलॉग देखें.
  • इमेज सही रिज़ॉल्यूशन में दिख रही हों. साथ ही, उन्हें न तो खींचा गया हो और न ही काटा गया हो.
Touch_Targets T-Touch_Targets टच टारगेट (स्क्रीन के वे हिस्से जहां छूने पर कोई कार्रवाई होती है) कम से कम 48dp के हों. Material Design के लेआउट और टाइपोग्राफ़ी से जुड़े दिशा-निर्देश देखें.
Drawable_Focus T-Drawable_Focus इंटरैक्टिव कस्टम ड्रॉएबल के लिए, फ़ोकस की गई स्थिति बनाई जाती है. कस्टम ड्रॉएबल, कोई भी ऐसा विज़ुअल यूज़र इंटरफ़ेस (यूआई) एलिमेंट होता है जो Android फ़्रेमवर्क से नहीं मिलता है. अगर उपयोगकर्ता किसी कस्टम ड्रॉएबल के साथ इंटरैक्ट कर सकते हैं, तो डिवाइस के टच मोड में न होने पर, ड्रॉएबल को फ़ोकस किया जा सकना चाहिए. साथ ही, फ़ोकस किए गए स्टेट का विज़ुअल इंडिकेशन साफ़ तौर पर दिखना चाहिए.

कीबोर्ड, माउस, और ट्रैकपैड

दिशा-निर्देश का आईडी टेस्ट आईडी ब्यौरा
Keyboard_Navigation T-Keyboard_Navigation ऐप्लिकेशन में मुख्य टास्क फ़्लो, कीबोर्ड नेविगेशन के साथ काम करते हैं. इनमें Tab और ऐरो बटन से नेविगेट करना शामिल है. ज़्यादा सुलभ ऐप्लिकेशन बनाना लेख पढ़ें.
Keyboard_Shortcuts T-Keyboard_Shortcuts यह ऐप्लिकेशन, अक्सर इस्तेमाल की जाने वाली कार्रवाइयों के लिए कीबोर्ड शॉर्टकट की सुविधा देता है. जैसे, चुनना, काटना, कॉपी करना, चिपकाना, पहले जैसा करना, और फिर से करना. इनपुट डिवाइस के साथ काम करने की सुविधा देखें.
Keyboard_Media_Playback T-Keyboard_Media_Playback कीबोर्ड का इस्तेमाल करके, मीडिया प्लेबैक को कंट्रोल किया जा सकता है. उदाहरण के लिए, स्पेसबार से मीडिया चलाया और रोका जा सकता है.
Keyboard_Send T-Keyboard_Send कम्यूनिकेशन ऐप्लिकेशन में, कीबोर्ड की Enter कुंजी से भेजें फ़ंक्शन काम करता है.
Keyboard_Exit T-Keyboard_Exit कीबोर्ड पर मौजूद Esc बटन, exit फ़ंक्शन का काम करता है. इससे किसी कार्रवाई को बंद किया जा सकता है या उसे पहले जैसा किया जा सकता है. उदाहरण के लिए:
  • मोडल, डायलॉग, पॉप-अप, और मेन्यू बंद करता है
  • इससे खोज के लिए डाला गया टेक्स्ट मिट जाता है या खोज पर से फ़ोकस हट जाता है
  • कीबोर्ड फ़ोकस को रद्द करता है
  • इससे वीडियो को फ़ुल-स्क्रीन मोड से हटाया जाता है. साथ ही, PiP, फ़ुल-स्क्रीन मोड या स्लाइड शो बंद किए जाते हैं
  • स्क्रीन पर मौजूद कंट्रोल, जैसे कि प्रोग्रेस बार या मेन्यू को खारिज करता है
  • 'अगला' / अपने-आप चलने वाले टाइमर रद्द करता है
  • चुने गए सभी आइटम से चुने हुए का निशान हटाता है
  • यह कुकी, सेव किए बिना नाम बदलने/बदलाव करने की प्रोसेस को बंद कर देती है
  • इससे इमेज को काटना/बदलना बंद हो जाता है और बदलाव खारिज हो जाते हैं
Context_Menus T-Context_Menus संदर्भ मेन्यू को, माउस और ट्रैकपैड पर राइट क्लिक (माउस का दूसरा बटन या दूसरा टैप) करके ऐक्सेस किया जा सकता है.
Content_Zoom T-Content_Zoom ऐप्लिकेशन के कॉन्टेंट को ज़ूम करने के लिए, माउस के स्क्रोल व्हील का इस्तेमाल किया जा सकता है. इसके लिए, Control या Ctrl बटन को दबाकर रखें. इसके अलावा, ट्रैकपैड पर पिंच जेस्चर का इस्तेमाल करके भी ऐसा किया जा सकता है.
Hover_States T-Hover_States कार्रवाई करने लायक यूज़र इंटरफ़ेस (यूआई) एलिमेंट में, होवर स्टेट (जहां ज़रूरी हो) होती हैं. इससे माउस और ट्रैकपैड का इस्तेमाल करने वाले लोगों को पता चलता है कि एलिमेंट इंटरैक्टिव हैं.

परीक्षण

यह पक्का करने के लिए कि आपका ऐप्लिकेशन सभी डिसप्ले कॉन्फ़िगरेशन के लिए ऑप्टिमाइज़ किया गया हो और रिस्पॉन्सिव हो, ये टेस्ट करें.

उपयोगकर्ता इंटरफ़ेस

परीक्षण आईडी दिशा-निर्देशों के आईडी ब्यौरा
T-Layout_Flow Responsive_adaptive_layouts,
UI_Secondary_Elements

ऐप्लिकेशन को अलग-अलग साइज़ वाली स्क्रीन वाले डिवाइसों पर चलाएं. जैसे, फ़ोन, फ़ोल्ड किए जा सकने वाले फ़ोन, छोटे और बड़े टैबलेट, और डेस्कटॉप डिवाइस. डिवाइसों पर, ऐप्लिकेशन को मल्टी-विंडो मोड में चलाएं.

पुष्टि करें कि ऐप्लिकेशन का लेआउट, अलग-अलग स्क्रीन और विंडो साइज़ के हिसाब से रिस्पॉन्सिव है और अडजस्ट हो जाता है. देखें कि ऐप्लिकेशन, नेविगेशन रेल को बड़ा और छोटा करता है या नहीं. साथ ही, यह भी देखें कि ग्रिड लेआउट में कॉलम की संख्या को बढ़ाता और घटाता है या नहीं, टेक्स्ट को कॉलम में फ़्लो करता है या नहीं, और इसी तरह की अन्य सुविधाएं काम करती हैं या नहीं. देखें कि यूज़र इंटरफ़ेस (यूआई) एलिमेंट, दिखने में अच्छे और काम के हों.

ऐक्टिविटी एम्बेड करने की सुविधा का इस्तेमाल करने वाले ऐप्लिकेशन के लिए, यह जांच करें कि बड़ी स्क्रीन पर ऐक्टिविटी अगल-बगल दिख रही हैं या छोटी स्क्रीन पर एक के ऊपर एक दिख रही हैं.

T-Touch_Targets Touch_Targets पुष्टि करें कि सभी डिसप्ले साइज़ और कॉन्फ़िगरेशन के लिए, टच टारगेट का साइज़ और पोज़िशन एक जैसी हो और उन्हें ऐक्सेस किया जा सके. साथ ही, वे अन्य यूज़र इंटरफ़ेस (यूआई) एलिमेंट से छिपे या धुंधले न हों. सुलभता के बारे में जानकारी के लिए, Accessibility Scanner देखें.
T-Drawable_Focus Drawable_Focus ऐप्लिकेशन की हर उस स्क्रीन पर यह पुष्टि करें कि बाहरी कीबोर्ड, डी-पैड या यूज़र इंटरफ़ेस (यूआई) एलिमेंट को फ़ोकस करने की सुविधा देने वाले किसी अन्य डिवाइस का इस्तेमाल करके, इंटरैक्टिव कस्टम ड्रॉएबल को फ़ोकस किया जा सकता है जिसमें इंटरैक्टिव कस्टम ड्रॉएबल मौजूद है. पुष्टि करें कि फ़ोकस किए गए एलिमेंट की स्थिति साफ़ तौर पर दिख रही हो. इससे जुड़ी जानकारी के लिए, टच मोड देखें.

कीबोर्ड, माउस, और ट्रैकपैड

परीक्षण आईडी दिशा-निर्देशों के आईडी ब्यौरा
T-Keyboard_Navigation T-Keyboard_Navigation किसी बाहरी कीबोर्ड के Tab और ऐरो बटन का इस्तेमाल करके, ऐप्लिकेशन के फ़ोकस किए जा सकने वाले कॉम्पोनेंट पर जाएं.
T-Keyboard_Shortcuts Keyboard_Shortcuts चुनने, कट करने, कॉपी करने, चिपकाने, पहले जैसा करने, और फिर से करने जैसी कार्रवाइयां करने के लिए, बाहरी कीबोर्ड पर कीबोर्ड शॉर्टकट का इस्तेमाल करें.
T-Keyboard_Media_Playback Keyboard_Media_Playback मीडिया चलाने, रोकने, पीछे ले जाने, और तेज़ी से आगे बढ़ाने के लिए, बाहरी कीबोर्ड का इस्तेमाल करें.
T-Keyboard_Send Keyboard_Send डेटा भेजने या सबमिट करने के लिए, बाहरी कीबोर्ड की Enter कुंजी का इस्तेमाल करें.
T-Keyboard_Exit Keyboard_Exit

बाहर निकलने के लिए, बाहरी कीबोर्ड के Esc बटन का इस्तेमाल करें. पुष्टि करें कि कुंजी ये काम करती है (जहां लागू हो):

  • मोडल, डायलॉग, पॉप-अप, और मेन्यू बंद करता है
  • इससे खोज के लिए डाला गया टेक्स्ट मिट जाता है या खोज पर से फ़ोकस हट जाता है
  • कीबोर्ड फ़ोकस को रद्द करता है
  • इससे वीडियो को फ़ुल-स्क्रीन मोड से हटाया जाता है. साथ ही, PiP, फ़ुल-स्क्रीन मोड या स्लाइड शो बंद किए जाते हैं
  • स्क्रीन पर मौजूद कंट्रोल खारिज करता है
  • 'अगला' / अपने-आप चलने वाले टाइमर रद्द करता है
  • चुने गए सभी आइटम से चुने हुए का निशान हटाता है
  • यह कुकी, सेव किए बिना नाम बदलने/बदलाव करने की प्रोसेस को बंद कर देती है
  • इससे इमेज को काटना/बदलना बंद हो जाता है और बदलाव खारिज हो जाते हैं
T-Context_Menus Context_Menus इंटरैक्टिव एलिमेंट के कॉन्टेक्स्ट मेन्यू को ऐक्सेस करने के लिए, माउस के सेकंडरी बटन या ट्रैकपैड के सेकंडरी टैप की सुविधा का इस्तेमाल करें.
T-Content_Zoom Content_Zoom कॉन्टेंट को ज़ूम इन और ज़ूम आउट करने के लिए, माउस के स्क्रोल व्हील (Control या Ctrl कुंजी के साथ) और ट्रैकपैड पर पिंच करने वाले जेस्चर का इस्तेमाल करें.
T-Hover_States Hover_States कार्रवाई करने लायक यूज़र इंटरफ़ेस (यूआई) एलिमेंट पर माउस या ट्रैकपैड कर्सर घुमाएं, ताकि एलिमेंट की होवर स्टेट चालू हो जाए.