कोई एक सही उत्तर नहीं है, वास्तव में दो हैं:
- Google द्वारा अनुशंसित (उदाहरण के लिए सामग्री डिज़ाइन पर उदासी पाठ्यक्रम): एक साधारण रूपांतरण का उपयोग करें, जो कई मामलों में पॉलिमर पुस्तकालय की तरह 1: 1 है। उदाहरण के लिए रेटिना डिस्प्ले के लिए यह सही नहीं है , इसलिए 1: 1 के बजाय, आधिकारिक सामग्री डिज़ाइन गाइड में डिवाइस तालिका में दिए गए घनत्व अनुपात का उपयोग करें ( कुछ लोकप्रिय उपकरणों के लिए अनुपात और विशिष्ट मैट्रिक्स के साथ तालिका ) और इसके लिए उपयुक्त @media क्वेरीज़ प्रदान करें रिज़ॉल्यूशन थ्रेसहोल्ड और संपत्ति, यह मानते हुए कि 1dp एक mdpi डिस्प्ले (160dpi / ppi) के लिए 1px के बराबर है ।
नोट: समग्र विचार: पृष्ठ के तल पर: कई स्क्रीन रिज़ॉल्यूशन थ्रेसहोल्ड (ब्रेकपॉइंट चित्र) के लिए अनुपात की कल्पना करने के लिए कुछ तस्वीर के साथ छवि स्केलिंग
- यदि आप विशिष्ट उपकरणों के लिए अपने डिजाइन में एक अल्ट्रा स्थिरता चाहते हैं , तो आपको कुछ अधिक शोध और गणना करनी होगी, और अधिक महत्वपूर्ण उपकरण का समर्थन करने के लिए और अधिक @media प्रश्नों का ढेर है जो आप चाहते हैं और कमबैक प्रदान करते हैं। विधि 1 जगह में) उन लोगों के लिए जिनका आप इतना ध्यान नहीं रखते हैं।
इस विषय में अधिक गोता लगाने के इच्छुक लोगों के लिए यहां अधिक विस्तृत जानकारी है, लेकिन इसके पीछे एक स्पष्टीकरण और तर्क है, ऊपर एक पूर्ण उत्तर है :
बात यह है कि "पिक्सेल घनत्व", सामग्री डिजाइन के आधिकारिक गाइड (लेआउट> इकाइयों और माप) के अनुसार, है:
एक इंच में फिट होने वाले पिक्सेल की संख्या।
इसलिए मूल रूप से पिक्सेल घनत्व ppi मान के लिए एक नया नाम है या चूंकि बहुत से लोग इसे एक अलग चीज, एक dpi मान के रूप में नहीं पहचानते हैं।
एक ही गाइड के अनुसार 1dp की परिभाषा:
एक dp 160 के घनत्व के साथ स्क्रीन पर एक भौतिक पिक्सेल के बराबर है । डीपी की गणना करने के लिए:
डीपी = (पिक्सल में चौड़ाई * 160) / स्क्रीन घनत्व
CSS लिखते समय, जहाँ भी dp या sp कहा जाता है वहां px का उपयोग करें। Dp को केवल Android के लिए विकसित करने में उपयोग करने की आवश्यकता है।
सामग्री डिज़ाइन का मुख्य प्रमुख विभिन्न प्लेटफार्मों पर लगातार भौतिक आयामों को बनाए रखना है, जो डेस्कटॉप रिज़ॉल्यूशन, पीपीआई (/ डीपीआई) और सीएसएस पिक्सेल के मुद्दे को उठाता है, जिस स्थिति में आपको एंड्रॉइड के मामले में डीपी की गणना के साथ रहना चाहिए। डिवाइस, और यह सच नहीं है कि अधिकांश स्क्रीन 96ppi हैं (यह एक धारणा है जो सीएसएस के लिए महत्वपूर्ण है), उनमें से एक बड़ा हिस्सा थोड़ा उच्च पीपीआई है, और यदि आप न केवल पारंपरिक डेस्कटॉप को ध्यान में रखते हैं, बल्कि एक नियमित लैपटॉप भी हैं , या गोलियाँ, या "धर्मान्तरित" सतह की तरह, रूपांतरण की आवश्यकता है: वे आमतौर पर 100-130ppi से लेकर होते हैं, उन्होंने कहा कि मैं जिस पल का उपयोग कर रहा हूं वह 127ppi है:
100% = 160ppi -> भौतिक 1 पिक्सेल चौड़ाई = 1dp -> आयत 100x100px = 100x100dp
79% = 127ppi -> भौतिक 1 पिक्सेल चौड़ाई = ca. 0,8dp -> आयत 100x100px = 80x80dp
हालाँकि, dp एक शुद्ध और नई इकाई है जो केवल Android के लिए है, आपको MD लेआउट को अनुकूलित करने के लिए कुछ गणनाएँ करनी चाहिए जो सभी dp में आती हैं। यदि आप कुछ और विचार करना चाहते हैं कि भौतिक अर्थों में विशिष्ट तत्व कितना बड़ा होगा, तो प्रश्न के उद्देश्य के लिए सबसे उपयोगी है विशिष्ट उपकरणों के लिए सामग्री डिजाइन दिशानिर्देशों में आदर्श स्पर्श आकार रेंज मान ** डीपी मूल्य के नीचे है। एक भौतिक एक। ** dp मान बदलता है, लेकिन भौतिक समान रहता है।
समस्या, आपको इकाइयों की गणना करने की आवश्यकता क्यों है, इसे Android API गाइड (पिक्सेल इकाइयों में dp इकाइयों में परिवर्तित) में समझाया गया है और यह अभी भी CSS के साथ स्टाइल किए गए तत्वों के लिए लागू होता है:
कुछ मामलों में, आपको dp में आयामों को व्यक्त करना होगा और फिर उन्हें> पिक्सेल में बदलना होगा।
एक ऐसे एप्लिकेशन की कल्पना करें जिसमें उपयोगकर्ता की उंगली कम से कम 16 पिक्सेल द्वारा स्थानांतरित होने के बाद स्क्रॉल या फ़्लिंग इशारा पहचाना जाता है। बेसलाइन स्क्रीन पर, एक उपयोगकर्ता को 16 पिक्सेल / 160 डीपीआई द्वारा चलना चाहिए, जो इशारा पहचाने जाने से पहले एक इंच (या 2.5 मिमी) के 1/10 वें भाग के बराबर होता है। उच्च-घनत्व वाले डिस्प्ले (240 डीपीआई) वाले डिवाइस पर, उपयोगकर्ता को 16 पिक्सेल / 240 डीपीआई द्वारा चलना चाहिए, जो एक इंच (या 1.7 मिमी) के 1/15 के बराबर होता है। दूरी बहुत कम है और इस प्रकार अनुप्रयोग उपयोगकर्ता के लिए अधिक संवेदनशील दिखाई देता है।
पहले वर्णित पॉलिमर रूपांतरण 1: 1 शायद इस तथ्य के कारण है कि 96 डीपीआई का घनत्व, या यहां तक कि जो मैंने दिया था वह कहीं कम घनत्व में है या (96 डीपीआई के मामले में भी), इसके नीचे भी। ध्यान में रखते हुए कि dp मान एक css स्वीकार नहीं है, यह मान लेना आसान है कि घनत्व अनुपात (0,75- कम, 1,0 मध्यम, और इसी तरह) वह है जो सरलीकरण और कई आकार के लिए उपयोग किया जाना चाहिए स्क्रीन सपोर्ट, जो पहले बताए गए मटीरियल डिजाइन के लिए डिवाइस टेबल में दिखाया गया है। यह भी Android एपीआई गाइड के अध्याय के ऊपर उद्धृत में एक सबसे अच्छा अभ्यास के रूप में उल्लेख किया गया है। और यही कारण है कि पॉलिमर रूपांतरण 1: 1 अच्छा हो सकता है, क्योंकि बहुत सारे उपकरणों का स्तर 1 पर घनत्व अनुपात है।
यदि आप विभिन्न उपकरणों की सूक्ष्म बारीकियों में गोता लगाने का फैसला करते हैं, तो आखिरी दुविधा: सीएसएस पीएक्स पर वापस जाना। यदि आप किसी से पूछताछ नहीं कर रहे हैं, तो एमडी टेबल से केवल घनत्व अनुपात के साथ रहें। लेकिन अगर आप एक पूर्णतावादी हैं, तो सीएसएस पिक्सल और भौतिक आयामों के संबंध के इस क्रॉक्स में W3C कैंडिडेट के पुनर्मूल्यांकन में एक परिपूर्ण (और बहुत सरल स्पष्टीकरण) है :
पूर्ण लंबाई इकाइयों एक दूसरे के संबंध में तय की और कुछ शारीरिक माप के लिए सहारा लेने लगते हैं। आउटपुट वातावरण ज्ञात होने पर वे मुख्य रूप से उपयोगी होते हैं। निरपेक्ष इकाइयाँ भौतिक इकाइयों ('में', 'सेमी', 'मिमी', 'पीटी', 'पीसी', 'क्यू') और दृश्य कोण इकाई ('px') से मिलकर बनती हैं :
हाथ की लंबाई पर पढ़ने के लिए, 1px इस प्रकार लगभग 0.26 मिमी (1/96 इंच) से मेल खाती है।
नोट: ध्यान दें कि पिक्सेल इकाई और भौतिक इकाइयों की यह परिभाषा सीएसएस के पिछले संस्करणों से भिन्न है। विशेष रूप से, सीएसएस के पिछले संस्करणों में पिक्सेल इकाई और भौतिक इकाइयाँ एक निश्चित अनुपात से संबंधित नहीं थीं: भौतिक इकाइयाँ हमेशा अपने भौतिक माप से बंधी होती थीं जबकि पिक्सेल इकाई संदर्भ पिक्सेल से सबसे अधिक निकटता से मेल खाती थी। (यह बदलाव इसलिए किया गया क्योंकि बहुत अधिक मौजूदा सामग्री 96 डीपीआई की धारणा पर निर्भर करती है, और उस धारणा को तोड़ने से सामग्री टूट जाती है।)
पीएक्स की यह नई परिभाषा (भौतिक आयामों को ध्यान में रखते हुए) सीएसएस पिक्सल और डीपीएस के बीच के अंतर को भरती है और हमें यह सुनिश्चित करने देती है कि सरल माप गणना के द्वारा तथाकथित आउटपुट वातावरण का उपयोग किया जाए , जो इस मामले में एक सुसंगत है (भौतिक अर्थ में) ) एमडी लेआउट , विभिन्न उपकरणों और प्लेटफार्मों पर समान रहता है। इसके अलावा, दोनों W3C और MD दिशानिर्देश पिक्सेल / डॉट्स कवरेज के मुख्य विचार को दर्शाने के लिए निम्न और उच्च-रिज़ॉल्यूशन डिवाइस चित्रों का उपयोग करते हैं - एक उच्च-रिज़ॉल्यूशन वाले डिवाइस पर 1px क्षेत्र द्वारा 1px क्षेत्र को कवर करने के लिए अधिक डिवाइस पिक्सेल (डॉट्स) की आवश्यकता होती है कम-रेस एक पर, जिसका अर्थ है कि रेटिना डिस्प्ले के लिए सीएसएस प्रश्नों में व्यापक रूप से उपयोग किया जाता है वास्तव में वही सामग्री है जो आपको सामग्री डिजाइन और सभी मोबाइल उपकरणों के लिए (लेकिन अधिक थ्रेसहोल्ड के साथ) प्रदान करनी है।
समापन, या तो एमडी घनत्व अनुपात का उपयोग करें जो कि Google द्वारा सर्वोत्तम अनुशंसित अभ्यास है , या यदि आपको सटीक रूप से निर्धारित किया जाता है या आपके डिज़ाइन को भौतिक आकारों के बारे में पूरी तरह से संगत होना चाहिए: विशिष्ट या सामान्य के ppi / dpi मानों का उपयोग करके सटीक रूपांतरण का उपयोग करें उपकरण (जो बहुत ही पागल है), आप आसानी से Google रिसाइज़र ऑनलाइन टूल पर परीक्षण कर सकते हैं क्योंकि वे एमडी गाइड में पहले स्थान पर दिए गए सामान्य थ्रेसहोल्ड का सम्मान करते हैं और अनुपात और प्रासंगिक प्रदर्शन प्रकार के नाम के लिए विभाजन नियम (एक्सलर्ज, मध्यम और इतने पर) ) इसमें लागू किया गया।
तो एमडी रेशियो के साथ स्टिक टेबल से याद रखें कि संदर्भ डीपी बराबर पिक्सेल आकार mdpi रिज़ॉल्यूशन (160) के लिए है और आप अच्छे होंगे।
em/rem
हर जगह s का उपयोग करने का विकल्प भी चुन सकते हैं और फिर प्रत्येक रिज़ॉल्यूशन के लिए आधार फ़ॉन्ट आकार को माप सकते हैं।