माप की Android इकाइयों के बीच अंतर क्या है?
- पिक्सल
- डुबोना
- डी पी
- एसपी
माप की Android इकाइयों के बीच अंतर क्या है?
जवाबों:
px
पिक्सेल - स्क्रीन पर वास्तविक पिक्सेल से मेल खाती है।
में
इंच - स्क्रीन के शारीरिक आकार के आधार पर।
1 इंच = 2.54 सेंटीमीटर
मिमी
मिलीमीटर - स्क्रीन के भौतिक आकार के आधार पर।
pt
अंक - स्क्रीन के भौतिक आकार के आधार पर एक इंच का 1/72।
डीपी या डिप
डेंसिटी -डिपेंडेंट पिक्सल - एक अमूर्त इकाई जो स्क्रीन के भौतिक घनत्व पर आधारित होती है। ये इकाइयां 160 डीपीआई स्क्रीन के सापेक्ष हैं, इसलिए एक डीपी 160 डीपीआई स्क्रीन पर एक पिक्सेल है। डीपी-टू-पिक्सेल का अनुपात स्क्रीन घनत्व के साथ बदल जाएगा, लेकिन जरूरी नहीं कि प्रत्यक्ष अनुपात में। नोट: संकलक "डिप" और "डीपी" दोनों को स्वीकार करता है, हालांकि "डीपी" "स्प" के साथ अधिक सुसंगत है।
एसपी
स्केल -इंडिपेंडेंट पिक्सल्स - यह डीपी यूनिट की तरह है, लेकिन इसे यूजर के फॉन्ट साइज की प्राथमिकता से भी बढ़ाया जाता है। यह अनुशंसा की जाती है कि आप फ़ॉन्ट आकार निर्दिष्ट करते समय इस इकाई का उपयोग करें, इसलिए उन्हें स्क्रीन घनत्व और उपयोगकर्ता की वरीयता दोनों के लिए समायोजित किया जाएगा।
Android में घनत्व स्वतंत्रता को समझने से :
+----------------+----------------+---------------+-------------------------------+
| Density Bucket | Screen Density | Physical Size | Pixel Size |
+----------------+----------------+---------------+-------------------------------+
| ldpi | 120 dpi | 0.5 x 0.5 in | 0.5 in * 120 dpi = 60x60 px |
+----------------+----------------+---------------+-------------------------------+
| mdpi | 160 dpi | 0.5 x 0.5 in | 0.5 in * 160 dpi = 80x80 px |
+----------------+----------------+---------------+-------------------------------+
| hdpi | 240 dpi | 0.5 x 0.5 in | 0.5 in * 240 dpi = 120x120 px |
+----------------+----------------+---------------+-------------------------------+
| xhdpi | 320 dpi | 0.5 x 0.5 in | 0.5 in * 320 dpi = 160x160 px |
+----------------+----------------+---------------+-------------------------------+
| xxhdpi | 480 dpi | 0.5 x 0.5 in | 0.5 in * 480 dpi = 240x240 px |
+----------------+----------------+---------------+-------------------------------+
| xxxhdpi | 640 dpi | 0.5 x 0.5 in | 0.5 in * 640 dpi = 320x320 px |
+----------------+----------------+---------------+-------------------------------+
+---------+-------------+---------------+-------------+--------------------+
| Unit | Description | Units Per | Density | Same Physical Size |
| | | Physical Inch | Independent | On Every Screen |
+---------+-------------+---------------+-------------+--------------------+
| px | Pixels | Varies | No | No |
+---------+-------------+---------------+-------------+--------------------+
| in | Inches | 1 | Yes | Yes |
+---------+-------------+---------------+-------------+--------------------+
| mm | Millimeters | 25.4 | Yes | Yes |
+---------+-------------+---------------+-------------+--------------------+
| pt | Points | 72 | Yes | Yes |
+---------+-------------+---------------+-------------+--------------------+
| dp | Density | ~160 | Yes | No |
| | Independent | | | |
| | Pixels | | | |
+---------+-------------+---------------+-------------+--------------------+
| sp | Scale | ~160 | Yes | No |
| | Independent | | | |
| | Pixels | | | |
+---------+-------------+---------------+-------------+--------------------+
अधिक जानकारी Google डिज़ाइन दस्तावेज़ में भी देखी जा सकती है ।
dp
करता नहीं एक ही भौतिक लंबाई की है। (हालांकि यह करीब है।) बाल्टी के बारे में @ फ्रैगल की टिप्पणी देखें। इसका मतलब यह है कि 48dp लगभग 8 मिमी (0.3 इंच) होगा, लेकिन यह 11 मिमी तक भिन्न हो सकता है।
इस बारे में बहुत कुछ और विभिन्न आकारों और घनत्वों के कई स्क्रीन के लिए सबसे अच्छा समर्थन प्राप्त करने के बारे में बहुत कुछ यहाँ बहुत अच्छी तरह से प्रलेखित है:
स्क्रीन का आकार
वास्तविक भौतिक आकार, स्क्रीन के विकर्ण के रूप में मापा जाता है। सरलता के लिए, एंड्रॉइड सभी वास्तविक स्क्रीन आकारों को चार सामान्यीकृत आकारों में: छोटे, सामान्य, बड़े और अतिरिक्त-बड़े।स्क्रीन घनत्व स्क्रीन
के एक भौतिक क्षेत्र के भीतर पिक्सल की संख्या; आमतौर पर डीपीआई (डॉट्स प्रति इंच) के रूप में जाना जाता है। उदाहरण के लिए, "सामान्य" या "उच्च" घनत्व स्क्रीन की तुलना में "कम" घनत्व स्क्रीन में किसी दिए गए भौतिक क्षेत्र में कम पिक्सेल होते हैं। सरलता के लिए, एंड्रॉइड सभी वास्तविक स्क्रीन घनत्वों को छह सामान्यीकृत घनत्वों में जोड़ता है: निम्न, मध्यम, उच्च, अतिरिक्त-उच्च, अतिरिक्त-अतिरिक्त-उच्च, और अतिरिक्त-अतिरिक्त-अतिरिक्त-उच्च।अभिविन्यास
उपयोगकर्ता के दृष्टिकोण से स्क्रीन का उन्मुखीकरण। यह या तो परिदृश्य या चित्र है, जिसका अर्थ है कि स्क्रीन का पहलू अनुपात या तो व्यापक या लंबा है। ज्ञात रहे कि विभिन्न डिवाइस न केवल अलग-अलग ओरिएंटेशन में डिफॉल्ट रूप से काम करते हैं, बल्कि जब यूजर डिवाइस को घुमाता है तो ओरिएंटेशन रनटाइम में बदल सकता है।रिज़ॉल्यूशन
एक स्क्रीन पर भौतिक पिक्सेल की कुल संख्या। कई स्क्रीन के लिए समर्थन जोड़ते समय, एप्लिकेशन सीधे रिज़ॉल्यूशन के साथ काम नहीं करते हैं; आवेदन केवल स्क्रीन आकार और घनत्व के साथ संबंधित होना चाहिए, जैसा कि सामान्यीकृत आकार और घनत्व समूहों द्वारा निर्दिष्ट किया गया है।घनत्व-स्वतंत्र पिक्सेल (dp)
एक आभासी पिक्सेल इकाई जिसका उपयोग आपको यूआई लेआउट को परिभाषित करते समय करना चाहिए, लेआउट आयाम या घनत्व-स्वतंत्र तरीके से स्थिति व्यक्त करने के लिए। घनत्व-स्वतंत्र पिक्सेल 160 डीपीआई स्क्रीन पर एक भौतिक पिक्सेल के बराबर है, जो सिस्टम द्वारा "मध्यम" घनत्व स्क्रीन के लिए ग्रहण की गई आधारभूत घनत्व है। रनटाइम के दौरान, सिस्टम पारदर्शी रूप से उपयोग में स्क्रीन के वास्तविक घनत्व के आधार पर, dp इकाइयों के किसी भी स्केलिंग को संभालता है। स्क्रीन पिक्सल के लिए dp इकाइयों का रूपांतरण सरल हैpx = dp * (dpi / 160)
:। उदाहरण के लिए, 240 डीपीआई स्क्रीन पर, 1 डीपी 1.5 भौतिक पिक्सेल के बराबर होता है। विभिन्न घनत्व वाले स्क्रीन पर अपने UI का उचित प्रदर्शन सुनिश्चित करने के लिए, आपको अपने एप्लिकेशन के UI को परिभाषित करते समय हमेशा dp इकाइयों का उपयोग करना चाहिए।
यदि आप एक से अधिक प्रकार के डिवाइस के लिए एंड्रॉइड ऐप विकसित करने के बारे में गंभीर हैं, तो आपको कम से कम एक बार स्क्रीन सपोर्ट डेवलपमेंट दस्तावेज़ को पढ़ना चाहिए। इसके अलावा, सक्रिय डिवाइसों की वास्तविक संख्या जानने के लिए यह हमेशा एक अच्छी बात है कि एक विशेष स्क्रीन कॉन्फ़िगरेशन है।
मैं अधिक विस्तार से बताऊंगा कि कैसे dp px में परिवर्तित होता है:
150 x 150 px
छवि 150 * 150 dp
स्क्रीन स्पेस लेगी ।150 x 150 px
छवि 100 * 100 dp
स्क्रीन स्पेस लेगी ।150x150 px
छवि 75 * 75 dp
स्क्रीन स्पेस लेगी ।आसपास का दूसरा तरीका: कहते हैं, आप अपने एप्लिकेशन में एक छवि जोड़ना चाहते हैं और आपको एक 100 * 100 dp
नियंत्रण भरने की आवश्यकता है । आपको समर्थित स्क्रीन आकारों के लिए अलग-अलग आकार की छवियां बनाने की आवश्यकता होगी:
100 * 100 px
mdpi के लिए छवि150 * 150 px
एचडीपीआई के लिए छवि200 * 200 px
xhdpi के लिए छविpx - पिक्सेल - बिंदु प्रति स्केल स्क्रीन पर वास्तविक पिक्सेल से मेल खाती है।
i - इंच - स्क्रीन के भौतिक आकार के आधार पर।
मिमी - मिलीमीटर - स्क्रीन के भौतिक आकार के आधार पर।
पीटी - अंक - स्क्रीन के भौतिक आकार के आधार पर एक इंच का 1/72।
डीपी - घनत्व-स्वतंत्र पिक्सेल - एक अमूर्त इकाई जो स्क्रीन के भौतिक घनत्व पर आधारित है। ये इकाइयां 160 डीपीआई स्क्रीन के सापेक्ष हैं, इसलिए dp
एक 160 डीपीआई स्क्रीन पर एक पिक्सेल है। डीपी-टू-पिक्सेल का अनुपात स्क्रीन घनत्व के साथ बदल जाएगा, लेकिन जरूरी नहीं कि प्रत्यक्ष अनुपात में। नोट: संकलक दोनों को स्वीकार करता है dip
और dp
, हालांकि dp
अधिक सुसंगत है sp
।
sp - स्केल-स्वतंत्र पिक्सेल - यह dp
इकाई की तरह है , लेकिन यह उपयोगकर्ता के फ़ॉन्ट आकार वरीयता द्वारा भी बढ़ाया जाता है। यह अनुशंसा की जाती है कि आप फ़ॉन्ट आकार निर्दिष्ट करते समय इस इकाई का उपयोग करें, इसलिए उन्हें स्क्रीन घनत्व और उपयोगकर्ता की प्राथमिकता दोनों के लिए समायोजित किया जाएगा।
दो स्क्रीन का उदाहरण लें जो एक ही आकार के हैं लेकिन एक की स्क्रीन घनत्व 160 डीपीआई (डॉट्स प्रति इंच, यानी पिक्सल प्रति इंच) और दूसरा 240 डीपीआई है।
Lower resolution screen Higher resolution, same size
Physical Width 1.5 inches 1.5 inches
Dots Per Inch (“dpi”) 160 240
Pixels (=width*dpi) 240 360
Density (factor of baseline 160) 1.0 1.5
Density-independent pixels 240 240
(“dip” or “dp” or “dps”)
Scale-independent pixels
(“sip” or “sp”) Depends on user font size settings same
इसके अलावा आपको निम्नलिखित अवधारणाओं के बारे में स्पष्ट समझ होनी चाहिए:
स्क्रीन का आकार:
वास्तविक भौतिक आकार, स्क्रीन के विकर्ण के रूप में मापा जाता है। सरलता के लिए, एंड्रॉइड सभी वास्तविक स्क्रीन आकारों को चार सामान्यीकृत आकारों में: छोटे, सामान्य, बड़े और अतिरिक्त बड़े।
स्क्रीन घनत्व:
स्क्रीन के एक भौतिक क्षेत्र के भीतर पिक्सेल की मात्रा; आमतौर पर डीपीआई (डॉट्स प्रति इंच) के रूप में जाना जाता है। उदाहरण के लिए, "सामान्य" या "उच्च" घनत्व स्क्रीन की तुलना में "कम" घनत्व स्क्रीन में किसी दिए गए भौतिक क्षेत्र में कम पिक्सेल होते हैं। सरलता के लिए, एंड्रॉइड सभी वास्तविक स्क्रीन घनत्वों को चार सामान्यीकृत घनत्वों में: निम्न, मध्यम, उच्च और अतिरिक्त उच्च।
अभिविन्यास:
उपयोगकर्ता के दृष्टिकोण से स्क्रीन का उन्मुखीकरण। यह या तो परिदृश्य या चित्र है, जिसका अर्थ है कि स्क्रीन का पहलू अनुपात या तो व्यापक या लंबा है। ज्ञात रहे कि न केवल अलग-अलग डिवाइस अलग-अलग ओरिएंटेशन में डिफॉल्ट रूप से काम करते हैं, बल्कि जब यूजर डिवाइस को घुमाता है तो ओरिएंटेशन रनटाइम में बदल सकता है।
संकल्प:
एक स्क्रीन पर भौतिक पिक्सेल की कुल संख्या। कई स्क्रीन के लिए समर्थन जोड़ते समय, एप्लिकेशन सीधे रिज़ॉल्यूशन के साथ काम नहीं करते हैं; आवेदन केवल स्क्रीन आकार और घनत्व के साथ संबंधित होना चाहिए, जैसा कि सामान्यीकृत आकार और घनत्व समूहों द्वारा निर्दिष्ट किया गया है।
घनत्व-स्वतंत्र पिक्सेल (dp):
एक आभासी पिक्सेल इकाई जिसे आपको यूआई लेआउट को परिभाषित करते समय उपयोग करना चाहिए, लेआउट आयाम या घनत्व-स्वतंत्र तरीके से स्थिति व्यक्त करने के लिए। घनत्व-स्वतंत्र पिक्सेल 160 डीपीआई स्क्रीन पर एक भौतिक पिक्सेल के बराबर है, जो कि एक "मध्यम" घनत्व स्क्रीन के लिए सिस्टम द्वारा ग्रहण की गई बेसलाइन घनत्व है। रनटाइम के दौरान, सिस्टम पारदर्शी रूप से उपयोग में स्क्रीन के वास्तविक घनत्व के आधार पर, डीपी इकाइयों के किसी भी स्केलिंग को संभालता है। स्क्रीन पिक्सल के लिए dp इकाइयों का रूपांतरण सरल है: px = dp * (dpi / 160)। उदाहरण के लिए, 240 डीपीआई स्क्रीन पर, 1 डीपी 1.5 भौतिक पिक्सेल के बराबर होता है। विभिन्न घनत्व वाले स्क्रीन पर अपने UI का उचित प्रदर्शन सुनिश्चित करने के लिए, आपको अपने एप्लिकेशन के UI को परिभाषित करते समय हमेशा dp इकाइयों का उपयोग करना चाहिए।
संदर्भ: एंड्रॉइड डेवलपर्स साइट
dp
है dip
। यह सब कुछ के लिए उपयोग करें (मार्जिन, पैडिंग, आदि)।
sp
केवल {text-size} के लिए उपयोग करें ।
के बीच का अंतर देखें px
, dp
और sp
अलग अलग स्क्रीन आकार पर।
px या dot भौतिक स्क्रीन पर एक पिक्सेल है ।
dpi भौतिक स्क्रीन पर प्रति इंच पिक्सेल है और प्रदर्शन के घनत्व का प्रतिनिधित्व करता है।
एंड्रॉइड कई घनत्वों को उपनाम देता है
डुबकी या डीपी हैं घनत्व-indenpendant पिक्सल , यानी वे कम या ज्यादा पिक्सल शारीरिक घनत्व के आधार पर के अनुरूप हैं।
sp या sip एक पैमाना-स्वतंत्र पिक्सेल है । वे कर दिया जाता है जब बड़ा पाठ विकल्प में चालू है Settings>Accessibility
पाठ आकार के लिए सपा का उपयोग करें ।
सब कुछ के लिए डीपी का उपयोग करें ।
स्रोत 3 : (स्रोत 3 से डेटा नीचे दिया गया है)
ये XML में परिभाषित आयाम मूल्य हैं। माप की एक इकाई के बाद एक संख्या के साथ एक आयाम निर्दिष्ट किया जाता है। उदाहरण के लिए: 10px, 2in, 5sp। माप की निम्नलिखित इकाइयाँ Android द्वारा समर्थित हैं:
डी पी
घनत्व-स्वतंत्र पिक्सेल - एक अमूर्त इकाई जो स्क्रीन के भौतिक घनत्व पर आधारित होती है। ये इकाइयां एक 160 डीपीआई (डॉट्स प्रति इंच) स्क्रीन के सापेक्ष हैं, जिस पर 1dp लगभग 1px के बराबर है। उच्च घनत्व स्क्रीन पर चलने पर, 1dp को खींचने के लिए उपयोग किए जाने वाले पिक्सेल की संख्या को स्क्रीन के डीपीआई के लिए उपयुक्त कारक द्वारा बढ़ाया जाता है। इसी तरह, जब एक कम घनत्व स्क्रीन पर, 1dp के लिए उपयोग किए जाने वाले पिक्सेल की संख्या कम हो जाती है। डीपी-टू-पिक्सेल का अनुपात स्क्रीन घनत्व के साथ बदल जाएगा, लेकिन जरूरी नहीं कि प्रत्यक्ष अनुपात में। डीपी इकाइयों (पीएक्स इकाइयों के बजाय) का उपयोग करना आपके लेआउट में दृश्य आयामों को विभिन्न स्क्रीन घनत्वों के लिए ठीक से आकार देने के लिए एक सरल समाधान है। दूसरे शब्दों में, यह विभिन्न उपकरणों पर आपके UI तत्वों के वास्तविक-विश्व आकार के लिए स्थिरता प्रदान करता है।
एसपी
स्केल-स्वतंत्र पिक्सेल्स - यह डीपी यूनिट की तरह है, लेकिन यह उपयोगकर्ता के फ़ॉन्ट आकार वरीयता द्वारा भी बढ़ाया जाता है। यह अनुशंसा की जाती है कि आप फ़ॉन्ट आकारों को निर्दिष्ट करते समय इस इकाई का उपयोग करें, इसलिए उन्हें स्क्रीन घनत्व और उपयोगकर्ता की प्राथमिकता दोनों के लिए समायोजित किया जाएगा।
pt
अंक - स्क्रीन के भौतिक आकार के आधार पर एक इंच का 1/72।
पिक्सल
पिक्सेल - स्क्रीन पर वास्तविक पिक्सेल के अनुरूप है। माप की इस इकाई की सिफारिश नहीं की जाती है क्योंकि वास्तविक प्रतिनिधित्व उपकरणों में भिन्न हो सकता है; प्रत्येक डिवाइस में प्रति इंच पिक्सेल की एक अलग संख्या हो सकती है और स्क्रीन पर अधिक या कम कुल पिक्सेल उपलब्ध हो सकते हैं।
मिमी
मिलीमीटर - स्क्रीन के भौतिक आकार के आधार पर।
में
इंच - स्क्रीन के भौतिक आकार के आधार पर।
नोट: एक आयाम एक साधारण संसाधन है जिसे नाम विशेषता में दिए गए मूल्य (XML फ़ाइल का नाम नहीं) का उपयोग करके संदर्भित किया जाता है। जैसे, आप एक तत्व के तहत एक एक्सएमएल फ़ाइल में अन्य सरल संसाधनों के साथ आयाम संसाधनों को जोड़ सकते हैं।
मूल रूप से केवल उसी समय जहां px लागू होता है, एक px होता है, और यदि आप स्क्रीन पर ठीक एक पिक्सेल चाहते हैं, तो विभक्त के मामले में:
> 160 डीपीआई पर, आपको 2-3 पिक्सेल मिल सकते हैं,
> 120 डीपीआई पर, यह 0 से गोल होता है।
पिक्सल
पिक्सेल - स्क्रीन पर वास्तविक पिक्सेल से मेल खाती है।
डीपी या डुबकी
घनत्व-स्वतंत्र पिक्सेल - एक अमूर्त इकाई जो स्क्रीन के भौतिक घनत्व पर आधारित होती है। ये इकाइयां 160 डीपीआई स्क्रीन के सापेक्ष हैं, इसलिए एक डीपी 160 डीपीआई स्क्रीन पर एक पिक्सेल है।
डीपी का उपयोग:
घनत्व स्वतंत्रता - आपका आवेदन विभिन्न घनत्वों के साथ स्क्रीन पर प्रदर्शित होने पर उपयोगकर्ता इंटरफ़ेस तत्वों के भौतिक आकार (उपयोगकर्ता के दृष्टिकोण से) को संरक्षित करने पर "घनत्व स्वतंत्रता" प्राप्त करता है। (यानी) छवि को विभिन्न प्रकार के स्क्रीन में एक ही आकार (बढ़े हुए या सिकुड़े हुए) नहीं दिखना चाहिए।
एसपी
स्केल-स्वतंत्र पिक्सेल - यह dp इकाई की तरह है, लेकिन यह उपयोगकर्ता के फ़ॉन्ट आकार वरीयता द्वारा भी बढ़ाया जाता है।
http://developer.android.com/guide/topics/resources/more-resources.html#Dimension
एक आभासी पिक्सेल इकाई जिसे आपको यूआई लेआउट को परिभाषित करते समय उपयोग करना चाहिए, लेआउट आयाम या घनत्व-स्वतंत्र तरीके से स्थिति व्यक्त करने के लिए। जैसा कि ऊपर वर्णित है, घनत्व-स्वतंत्र पिक्सेल 160 डीपीआई स्क्रीन पर एक भौतिक पिक्सेल के बराबर है, जो कि सिस्टम द्वारा "मध्यम" घनत्व स्क्रीन के लिए आधारभूत घनत्व है। रनटाइम के दौरान, सिस्टम पारदर्शी रूप से उपयोग में स्क्रीन के वास्तविक घनत्व के आधार पर, डीपी इकाइयों के किसी भी स्केलिंग को संभालता है। स्क्रीन पिक्सल के लिए dp इकाइयों का रूपांतरण सरल है:
px = dp * (डीपीआई / 160)।
उदाहरण के लिए, 240 डीपीआई स्क्रीन पर, 1 डीपी 1.5 भौतिक पिक्सेल के बराबर होता है। विभिन्न घनत्व वाले स्क्रीन पर अपने UI का उचित प्रदर्शन सुनिश्चित करने के लिए, आपको अपने एप्लिकेशन के UI को परिभाषित करते समय हमेशा dp इकाइयों का उपयोग करना चाहिए।
पिक्सेल को dp और इसके विपरीत समझना बहुत आवश्यक है (विशेष रूप से रचनात्मक टीम को सटीक dp मान देने के लिए)
dp = px * 160 / dpi
MDPI = 160 dpi || Therefore, on MDPI 1 px = 1 dp
For example, if you want to convert 20 pixel to dp, use the above formula,
dp = 20 * 160 / 160 = 20.
So, 20 pixel = 20 dp.
HDPI = 240 dpi - So, on HDPI 1.5 px = 1 dp
XHDPI = 320 dpi - So, on XHDPI 2 px = 1 dp
XXHDPI = 480 dpi - So, on XXHDPI 3 px = 1 dp
For example, let us consider Nexus 4.
If 24 pixels to be converted to dp and if it is a Nexus 4 screen, developers can
convert it to dp easily by the following calculation :
dp = 24 * 160 / 320 = 12 dp
Screen dimension:
768 x 1280 pixel resolution (320 ppi or 320dpi)
Optional (screen size):
4.7" diagonal
यह ऊपर बताया गया है। लेआउट फ़ाइलों में से बचने की कोशिश करें। लेकिन कुछ मामले हैं, जहां पीएक्स की आवश्यकता होती है। उदाहरण के लिए, सूची दृश्य विभक्त लाइन। px स्क्रीन रिज़ॉल्यूशन के सभी के लिए विभक्त के रूप में एक-पिक्सेल लाइन देने के लिए बेहतर है।
फ़ॉन्ट आकार के लिए सपा का उपयोग करें। तब केवल एप्लिकेशन के अंदर का फॉन्ट बदल जाएगा जबकि डिवाइस फोंट का आकार बदल जाता है (यानी, डिवाइस पर डिस्प्ले -> फोंट)। अगर आप ऐप के अंदर स्टैटिक साइज का फॉन्ट रखना चाहते हैं तो आप dp में फॉन्ट डायमेंशन दे सकते हैं। ऐसे मामले में, यह कभी नहीं बदलेगा। डेवलपर्स को कुछ विशिष्ट स्क्रीन के लिए ऐसी आवश्यकता मिल सकती है, इसके लिए, डेवलपर्स सपा के बजाय डीपी का उपयोग कर सकते हैं। अन्य सभी मामलों में, सपा की सिफारिश की जाती है।
आप के बीच के अंतर को देख सकते हैं px
और dp
नीचे के चित्र से, और आप भी पा सकते हैं कि px
और dp
अलग अलग स्क्रीन पर एक ही शारीरिक आकार की गारंटी नहीं दे सकता है।
पाठ और उपस्थिति के आकार से संबंधित कुछ भी उपयोग करना चाहिए sp
या pt
। जबकि, नियंत्रण के आकार, लेआउट आदि से संबंधित किसी भी चीज का उपयोग किया जाना चाहिए dp
।
आप दोनों dp
और dip
उसके स्थानों पर उपयोग कर सकते हैं।
मैं केवल dp का उपयोग करूंगा।
फ़ॉन्ट आकारों के लिए "सपा" का उपयोग करने के बारे में बहुत सी बात है, और जब मैं बिंदु की सराहना करता हूं, तो मुझे नहीं लगता कि डिजाइन के दृष्टिकोण से ऐसा करना सही है। यदि उपयोगकर्ता के पास कुछ विंचित फ़ॉन्ट आकार का चयन है, तो आप अपने डिज़ाइन को तोड़ सकते हैं, और उपयोगकर्ता ऐप को दोष देगा , न कि अपने स्वयं के जीवन विकल्पों को।
इसके अलावा, अगर आप 160 डीपीआई टैबलेट पर एक स्पॉन-फॉन्ट ऐप लेते हैं, तो आप पाएंगे कि सब कुछ ठीक हो गया है ... लेकिन आपका फॉन्ट, जो तुलना में छोटा दिखने वाला है। यह एक अच्छा लुक नहीं है।
जबकि "स्प" फोंट के विचार में एक अच्छा दिल है, यह एक खराब विचार है। सब कुछ के लिए डीपी के साथ रहना।
sp
एक कारक है, है ना? जो कुछ dp
भी प्रभावित करता है वह भी प्रभावित करेगा sp
। उस ने कहा, यदि आपका लेआउट बहुत तंग है और dp
इसके बजाय sp
बड़े आकार फिट नहीं होंगे , तो इसके बजाय फ़ॉन्ट आकारों को निर्दिष्ट करना बेहतर होगा - उपयोगकर्ता द्वारा पूरी तरह से गड़बड़ किए गए लेआउट की तुलना में पाठ को छोटा करने के लिए बेहतर है। लेकिन पहले उदाहरण में आपको हमेशा उपयोगकर्ता के फ़ॉन्ट आकार वरीयता का सम्मान करने का प्रयास करना चाहिए - यहां तक कि सबसे बड़ी सेटिंग भी बड़ी नहीं है।
एसपी = स्केल स्वतंत्र पिक्सेल
dp = dip = घनत्व स्वतंत्र पिक्सेल
डीपीआई = डॉट्स प्रति इंच
हमें सपा का उपयोग करने से बचना चाहिए ।
हमें कई स्क्रीन को सपोर्ट करने के लिए dp का उपयोग करना चाहिए ।
एंड्रॉइड विभिन्न स्क्रीन रिज़ॉल्यूशन का समर्थन करता है
एक 120 डीपी ldpi डिवाइस में 1 इंच आकार में 120 पिक्सेल हैं।
अन्य घनत्व के लिए भी यही ...
हमें सॉफ्टवेयर इंजीनियरों को इस रूपांतरण सूत्र का उपयोग करना चाहिए:
पिक्सेल = डीपी * (घनत्व / 160)
तो 240 डीपीआई डिवाइस के 1 डीपी में = 1 * (240/160) = 3/2 = 1.5 पिक्सेल होगा।
और 480 डीपीआई डिवाइस के 1 डीपी में = 1 * (480/160) = 3 पिक्सेल होगा।
इस 1.5 और 3 पिक्सेल ज्ञान का उपयोग करते हुए, एक सॉफ्टवेयर इंजीनियर विभिन्न घनत्वों के लिए लेआउट डिजाइन कर सकता है।
किसी भी उपकरण के स्क्रीन मापदंडों की जांच करने के लिए:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
Toast.makeText(
this,
"4:" + metrics.heightPixels + "," + metrics.density + ","
+ metrics.densityDpi, Toast.LENGTH_LONG).show();
के बीच अंतर dp
और sp
"के रूप में उल्लेख इकाइयों को उपयोगकर्ता के फ़ॉन्ट आकार वरीयता " आधिकारिक दस्तावेज से नकल जवाब से बदलकर रन टाइम पर देखा जा सकता है Settings->Accessibility->Large Text
विकल्प।
Large Text
विकल्प पाठ को 1.3
कई गुना बड़ा बनने के लिए मजबूर करता है ।
private static final float LARGE_FONT_SCALE = 1.3f;
पैकेज / ऐप / सेटिंग्स में निहित होने के कारण यह निश्चित रूप से निर्भर विक्रेता का हो सकता है ।
डीपीआई -
px - पिक्सेल
पीटी - अंक
में - इंच - भौतिक स्क्रीन आकार (1 इंच = 2.54 सेमी) के संबंध में।
मिमी- मिलीमीटर - भौतिक स्क्रीन आकार के संबंध में।
सपा पैमाने पर स्वतंत्र पिक्सेल।
डुबोना -
मानक में, डीपी और एसपी का उपयोग किया जाता है। फ़ॉन्ट आकार के लिए सपा और बाकी सब के लिए डीपी।
इकाइयों के रूपांतरण के लिए सूत्र:
px = dp * (डीपीआई / 160);
Density Bucket -> Screen Display => Physical Size => Pixel Size
ldpi -> 120 dpi => 0.5 x 0.5 in => 0.5 in * 120 dpi = 60x60 px
mdpi -> 160 dpi => 0.5 x 0.5 in => 0.5 in * 160 dpi = 80x80 px
hdpi -> 240 dpi => 0.5 x 0.5 in => 0.5 in * 240 dpi = 120x120 px
xhdpi -> 320 dpi => 0.5 x 0.5 in => 0.5 in * 320 dpi = 160x160 px
xxhdpi -> 480 dpi => 0.5 x 0.5 in => 0.5 in * 480 dpi = 240x240 px
xxxhdpi -> 640 dpi => 0.5 x 0.5 in => 0.5 in * 640 dpi = 320x320 px
यहां Android द्वारा उपयोग किया गया सूत्र है:
px = dp * (डीपीआई / 160)
जहाँ dpi निम्न स्क्रीन घनत्वों में से एक है। सभी संभावित घनत्वों की सूची के लिए यहां जाएं
यह "DENSITY_ *" स्थिरांक को परिभाषित करता है।
यहां से ले गए ।
अगर आप अपनी स्क्रीन डीपीआई को जानते हैं, तो यह px और dp के बीच अनुवाद करते समय बहुत सारे भ्रम को दूर करेगा।
तो, मान लें कि आप एचडीपीआई स्क्रीन के लिए 60 डीपी की छवि चाहते हैं तो 60 डीपी का भौतिक पिक्सेल आकार है:
px = 60 * (240 / 160)
स्क्रीन का आकार में Android
श्रेणियों में बांटा गया है small
, medium
, large
, extra large
, double-extra
और triple-extra
। स्क्रीन घनत्व स्क्रीन के एक क्षेत्र (जैसे इंच) के भीतर पिक्सल की मात्रा है। आम तौर पर इसे डॉट्स-प्रति-इंच (डीपीआई) में मापा जाता है। स्क्रीन घनत्व को निम्न, मध्यम, उच्च और अतिरिक्त उच्च के रूप में वर्गीकृत किया गया है। रिज़ॉल्यूशन स्क्रीन में पिक्सेल की कुल संख्या है।
इकाइयों के बीच रूपांतरण के लिए सूत्र
px = dp * (dpi / 160)
डिवाइस में px से dp
निम्नलिखित उदाहरण बेहतर समझने में मदद कर सकते हैं। स्केलिंग 120 (ldpi), 160 (mdpi), 240 (hdpi), 320 (xhdpi), 480 (xxhdpi) और 640 (xxxhdpi) के आकार के आधार पर होती है। डिजाइनिंग के लिए Google ने सुझाया अनुपात 3: 4: 6: 8: 12 ldpi के लिए है: mdpi: hdpi: xhdpi: xxhdpi
एक 150px एक्स 150 पीएक्स छवि पर कब्जा होगा,
- Mdpi में 150 dp X 150 dp स्क्रीन स्पेस
- 100 डीपी एक्स 100 डीपी स्क्रीन स्पेस एचडीपीआई में
- एक्सएचडीपी में 75 डीपी एक्स 75 डीपी स्क्रीन स्पेस
जब आप सभी Android उपकरणों में एक समान UI डिज़ाइन करना चाहते हैं, तो आप अपनी छवि के आकार और अन्य आयामों को ठीक करने के लिए निम्न DPI कैलकुलेटर का उपयोग कर सकते हैं।
/*
Program output
LDPI: 165.0 X 60.0
MDPI: 220.0 X 80.0
HDPI: 330.0 X 120.0
XHDPI: 440.0 X 160.0
XXHDPI: 660.0 X 240.0
XXXHDPI: 880.0 X 320.0
*/
public class DPICalculator {
private final float LDPI = 120;
private final float MDPI = 160;
private final float HDPI = 240;
private final float XHDPI = 320;
private final float XXHDPI = 480;
private final float XXXHDPI = 640;
private float forDeviceDensity;
private float width;
private float height;
public DPICalculator(float forDeviceDensity, float width, float height){
this.forDeviceDensity = forDeviceDensity;
this.width = width;
this.height = height;
}
public static void main(String... args) {
DPICalculator dpiCalculator = new DPICalculator(240,330,120);
dpiCalculator.calculateDPI();
}
private float getPx(float dp, float value) {
float px = dp * (value / forDeviceDensity );
return px;
}
private void calculateDPI() {
float ldpiW = getPx(LDPI,width);
float ldpiH = getPx(LDPI,height);
float mdpiW = getPx(MDPI,width);
float mdpiH = getPx(MDPI,height);
float hdpiW = getPx(HDPI,width);
float hdpiH = getPx(HDPI,height);
float xdpiW = getPx(XHDPI,width);
float xdpiH = getPx(XHDPI,height);
float xxdpiW = getPx(XXHDPI,width);
float xxdpiH = getPx(XXHDPI,height);
float xxxdpiW = getPx(XXXHDPI,width);
float xxxdpiH = getPx(XXXHDPI,height);
System.out.println("LDPI: " + ldpiW + " X " + ldpiH);
System.out.println("MDPI: " + mdpiW + " X " + mdpiH);
System.out.println("HDPI: " + hdpiW + " X " + hdpiH);
System.out.println("XHDPI: " + xdpiW + " X " + xdpiH);
System.out.println("XXHDPI: " + xxdpiW + " X " + xxdpiH);
System.out.println("XXXHDPI: " + xxxdpiW + " X " + xxxdpiH);
}
}
अधिक जानकारी निम्नलिखित लिंक को देखें।
http://javapapers.com/android/difference-between-dp-dip-sp-px-in-mm-pt-in-android/
कृपया समुदाय विकि से उत्तर पढ़ें। उपर्युक्त उत्तरों के अतिरिक्त कुछ जानकारी पर विचार किया जाना चाहिए। अधिकांश एंड्रॉइड डेवलपर्स ऐप विकसित करते समय इसे याद करते हैं, इसलिए मैं इन बिंदुओं को जोड़ रहा हूं।
एसपी = स्केल स्वतंत्र पिक्सेल
डीपी = घनत्व स्वतंत्र पिक्सल
डीपीआई = घनत्व पिक्सल
मैं उपरोक्त उत्तरों से गुजरा हूँ ... उन्हें बिल्कुल सही नहीं पाया। पाठ आकार के लिए, लेआउट सीमा के लिए डीपी - मानक। लेकिन पाठ आकार के लिए सपा लेआउट को तोड़ देगा यदि अधिकांश उपकरणों में लापरवाही बरती जाए ।
the डिवाइस का टेक्स्टइसेज़ लें, जबकि dp डिवाइस के घनत्व मानक (डिवाइस में कभी न बदले जाने वाले) को लें
आप लेआउट सीमा के लिए भी सपा का उपयोग कर सकते हैं, यह काम करेगा :) पूरे पाठ के लिए कोई मानक एप्लिकेशन उपयोग नहीं करता है
UX को ध्यान में रखते हुए टेक्स्ट आकार के लिए sp और dp का उपयोग करें।
कुछ लोग अधिक पठनीयता के लिए अपने फ़ोन में विशाल FONT आकार का उपयोग करते हैं, जिससे उन्हें छोटे हार्डकोड आकार का टेक्स्ट दिया जाता है जो UX समस्या होगी। जहां आवश्यक हो, पाठ के लिए सपा रखें, लेकिन यह सुनिश्चित करें कि उपयोगकर्ता द्वारा अपनी सेटिंग्स में बदलाव करने पर यह लेआउट को नहीं तोड़ेगा।
इसी तरह अगर आपके पास सभी आयामों का समर्थन करने वाला एक एकल ऐप है, तो xxxhdpi संपत्ति जोड़ने से ऐप का आकार बहुत बढ़ जाता है। लेकिन अब xxxhdpi फोन आम हैं, इसलिए हमें साइड बार, टूलबार और बॉटम बार में आइकन के लिए xxxhdpi संपत्तियों को कम से कम शामिल करना होगा। सभी स्क्रीन आकारों के लिए समान और बेहतर गुणवत्ता वाली छवियां रखने के लिए वेक्टर छवियों पर जाना बेहतर है।
यह भी ध्यान दें कि लोग अपने फोन में कस्टम फॉन्ट का इस्तेमाल करते हैं। तो एक फ़ॉन्ट की कमी से रिक्ति और सभी के बारे में समस्याएं हो सकती हैं। कस्टम फ़ॉन्ट के लिए टेक्स्ट का आकार 12sp कहें, डिफ़ॉल्ट फ़ॉन्ट की तुलना में कुछ पिक्सेल अतिरिक्त ले सकता है।
Android के लिए पेचकश और आधारभूत विवरण के लिए Google डेवलपर साइट देखें। https://developer.android.com/training/multiscreen/screendensities
मुझे विभिन्न स्क्रीन रिज़ॉल्यूशन के लिए एंड्रॉइड ऐप यूआई डिजाइन करने के बारे में एक अच्छा लेख आया है, और मैं इसे इस क्षेत्र में खोज करने वाले किसी व्यक्ति के लिए यहां छोड़ना चाहूंगा। हां, मुझे पता है कि यह किसी तरह से Google डॉक्स में वर्णित है (और ऊपर के पदों में उल्लेख किया गया है), मैंने पढ़ा है कि लेकिन यह मेरे लिए अच्छा नहीं था (हाँ, मैं बहुत बेवकूफ हो सकता हूं)। यह मेरे लिए अस्पष्ट रहा कि मैं अलग-अलग स्क्रीन आकार को संभालने के लिए लेआउट कैसे डिज़ाइन करूं। मुझे DP कॉन्सेप्ट से नफरत है, इत्यादि, जब मुझे विभिन्न स्क्रीन के लिए "लचीले" UI लेआउट को लागू करने की आवश्यकता होती है। (अरे आईओएस डेवलपर्स - हाँ, आप सही हैं यह स्टोरीबोर्ड अवधारणा है)।
एंड्रॉइड में यूआई अवधारणा खराब नहीं है, लेकिन दुर्भाग्य से आईओएस स्टोरीबोर्ड सुविधाओं का अभाव है। एंड्रॉइड में लचीली यूआई डिजाइन करना आसान बात नहीं है (सबसे अच्छे रूप में)।
यहाँ वह लेख है जिसने मुझे यह समझने में मदद की कि विभिन्न स्क्रीन आकारों के लेआउट बनाने के लिए एंड्रॉइड में क्या करना है:
JMSTUDIO ब्लॉग: - Android ऐप स्क्रीन का आकार तय करें
अलग-अलग स्क्रीन साइज़ के लिए एंड्रॉइड ऐप्स के लिए यूआई कैसे डिज़ाइन करें
विभिन्न स्क्रीन आकारों के लिए एक ऐप यूआई डिज़ाइन करने के लिए, हमारे प्रारंभिक डिज़ाइन को प्रत्येक स्क्रीन आकार के लिए न्यूनतम आवश्यक स्थान को पूरा करना होगा। एंड्रॉइड प्रत्येक सामान्यीकृत स्क्रीन प्रकार के लिए एक न्यूनतम आकार (डीपी में) को परिभाषित करता है। यहाँ एक Android स्क्रीन आकार दिशानिर्देश है। जब हमें dp में स्क्रीन का आकार मिलता है, तो हमारे लिए एंड्रॉइड ऐप UI डिजाइन करना पर्याप्त नहीं है। प्रत्येक स्क्रीन आकार के लिए, हमें प्रत्येक घनत्व के लिए ग्राफिक्स और बिटमैप चित्र तैयार करने की आवश्यकता है। यहाँ एक Android स्क्रीन घनत्व दिशानिर्देश है।
आसान गणना के लिए, हम चार सामान्यीकृत घनत्वों के बीच 3: 4: 6: 8 स्केलिंग अनुपात का पालन कर सकते हैं। अगर हम ldpi डिवाइस के लिए 36 × 36 पिक्सेल का चित्र बनाते हैं, तो बाकी घनत्व चित्रों का आकार mdpi के लिए 48 × 48, hdpi के लिए 72 × 72, और xhdpi के लिए 96 × 96 होगा।
फोटोशॉप में Android Apps UI कैसे डिज़ाइन करें
कई डिजाइनरों को घनत्व-स्वतंत्र इकाई, डीपी के कारण फोटोशॉप या अन्य पिक्सेल आधारित ग्राफिक डिजाइन टूल में एंड्रॉइड ऐप यूआई को डिजाइन करने के लिए समस्याएं हैं। डिजाइनरों को पता नहीं है कि पिक्सेल के लिए डीपी कैसे मैप करें। Google उनके लिए एक स्पष्ट Android UI डिज़ाइन मार्गदर्शिका भी नहीं देता है, हालांकि वे dp और पिक्सेल अनुवाद के लिए एक मूल सूत्र देते हैं।
Android की परिभाषा के अनुसार, 1 dd 160 dpi डिवाइस (mdpi) के तहत 1px के बराबर है। इसलिए हम mdpi घनत्व के साथ xlarge Android डिवाइस के लिए एक Android ऐप डिज़ाइन करना चाहते हैं, हम पिक्सेल में अपने UI आकार को 960 पिक्सेल चौड़ाई और 720px ऊंचाई में परिभाषित कर सकते हैं; उसी मैपिंग नियम का पालन करें, हम निम्नलिखित एंड्रॉइड ऐप स्क्रीन का आकार UI डिजाइन दिशानिर्देश प्राप्त कर सकते हैं:
जोड़ा : यदि आप "लचीली" UI में भी रुचि रखते हैं, तो इस लाइब्रेरी पर एक नज़र डालें: एक एंड्रॉइड एसडीके जो एक नए आकार की इकाई प्रदान करता है - एसडीपी (स्केलेबल डीपी)। स्क्रीन आकार के साथ यह आकार इकाई तराजू (यह भी एक जवाब में यहां बताया गया है, SDP
पुस्तकालय के बारे में )
ADDED2 Google ने आखिरकार iOS स्टोरबोर्ड UI कॉन्सेप्ट की उपयोगिता को समझ लिया है, और यहाँ ConstraintLayout
एंड्रॉइड वर्ल्ड के लिए चला गया है: कॉन्सट्रैटेनलआउट के साथ एक उत्तरदायी UI बनाएँ
1) dp: (density independent pixels)
स्क्रीन रिज़ॉल्यूशन के बढ़ने पर (जब आपके पास अधिक डॉट्स / पिक्सेल प्रति इंच होगा), तो dp की एक इकाई में प्रदर्शित पिक्सेल की संख्या बढ़ जाएगी। कम रिज़ॉल्यूशन वाले उपकरणों पर इसके विपरीत, dp की इकाई पर प्रतिनिधित्व पिक्सेल की संख्या घट जाएगी। चूंकि यह एक सापेक्ष इकाई है, इसलिए इसकी तुलना करने के लिए आधार रेखा का होना आवश्यक है। यह बेसलाइन 160 डीपीआई स्क्रीन है। यह समीकरण है:px = dp * (dpi / 160).
2) sp: (scale independent pixels)
यह इकाई स्क्रीन डीपीआई (डीपी के समान) के साथ-साथ उपयोगकर्ता के फ़ॉन्ट आकार वरीयता के अनुसार तराजू है।
3) px: (pixels)
स्क्रीन पर वास्तविक पिक्सेल या डॉट्स।
अधिक जानकारी के लिए आप यहां जा सकते हैं
स्क्रीन का आकार एंड्रॉयड में श्रेणियों में बांटा गया है ldpi
, mdpi
, hdpi
, xhdpi
, xxhdpi
और xxxhdpi
। स्क्रीन घनत्व स्क्रीन के एक क्षेत्र (जैसे इंच) के भीतर पिक्सल की मात्रा है। आम तौर पर इसे डॉट्स-प्रति-इंच ( dpi
) में मापा जाता है ।
PX(Pixels):
px
निरपेक्ष पिक्सल के लिए है। यदि आप चौड़ाई या ऊंचाई के लिए निरपेक्ष पिक्सेल के संदर्भ में देना चाहते हैं तो इसका उपयोग किया जाता है। सिफारिश नहीं की गई।DP/DIP(Density pixels / Density independent pixels):
dip == dp
। पहले के Android संस्करणों में डिप का उपयोग किया जाता था और बाद में इसे बदल दिया जाता था dp
। यह विकल्प है px
।
आम तौर पर हम कभी उपयोग नहीं करते px
क्योंकि यह निरपेक्ष मूल्य है। यदि आप px
चौड़ाई या ऊँचाई सेट करने के लिए उपयोग करते हैं, और यदि उस एप्लिकेशन को विभिन्न स्क्रीन आकार के उपकरणों में डाउनलोड किया जा रहा है, तो वह दृश्य स्क्रीन के मूल आकार के अनुसार नहीं खिंचेगा।
dp
के स्थान पर उपयोग करने के लिए अत्यधिक अनुशंसित है px
। dp
यदि आप स्क्रीन के आकार के आधार पर गतिशील रूप से बढ़ने और सिकुड़ने के लिए चौड़ाई और ऊंचाई का उल्लेख करना चाहते हैं तो इसका उपयोग करें ।
यदि हम देते हैं dp/dip
, तो एंड्रॉइड 160 पिक्सेल आकार स्क्रीन के आधार पर स्वचालित रूप से पिक्सेल आकार की गणना करेगा।
SP(Scale independent pixels):
उपयोगकर्ता के फ़ॉन्ट आकार वरीयता के आधार पर बढ़ाया गया। फ़ॉन्ट्स का उपयोग करना चाहिए sp
।
विभिन्न स्क्रीन आकारों के लिए फिट होने के लिए फ़ॉन्ट आकारों का उल्लेख करते समय, उपयोग करें sp
। इस के समान है dp
.Use sp
गतिशील स्क्रीन आकार के आधार पर फ़ॉन्ट आकार बढ़ने और छोटा करने के लिए विशेष रूप से के लिए
Android प्रलेखन कहता है:
आयाम निर्दिष्ट करते समय, हमेशा
dp
या तोsp
इकाइयों का उपयोग करें । Adp
एक घनत्व-रहित पिक्सेल है जो 160 में पिक्सेल के भौतिक आकार से मेल खाता हैdpi
। एकsp
ही आधार इकाई है, लेकिन उपयोगकर्ता के पसंदीदा पाठ आकार (यह एक पैमाना-स्वतंत्र पिक्सेल) द्वारा बढ़ाया जाता है, इसलिए आपको पाठ आकार को परिभाषित करते समय इस माप इकाई का उपयोग करना चाहिए
मोबाइल फोन की स्क्रीन हजारों छोटे डॉट्स से मिलकर बनी होती है जिन्हें पिक्सल (px) के नाम से जाना जाता है । एक पिक्सेल सबसे छोटा तत्व है जो चित्र बनाने के लिए जाता है। जितने अधिक पिक्सल्स की संख्या किसी चित्र या शब्द को बनाने के लिए होती है, उतनी ही तेज हो जाती है और स्मार्टफोन की स्क्रीन को अधिक आसानी से पढ़ने योग्य बनाती है।
स्क्रीन रिज़ॉल्यूशन स्क्रीन पर पिक्सेल की संख्या के संदर्भ में मापा जाता है। डिवाइस को खरीदते समय स्क्रीन रिज़ॉल्यूशन आमतौर पर उपयोग किया जाने वाला विनिर्देश है, लेकिन यह वास्तव में एंड्रॉइड के लिए डिज़ाइन करते समय उपयोगी नहीं है क्योंकि पिक्सल के संदर्भ में स्क्रीन के बारे में सोचना भौतिक आकार की धारणा को अनदेखा करता है, जो कि एक टच डिवाइस के लिए वास्तव में महत्वपूर्ण है।
घनत्व स्वतंत्र पिक्सेल (डीपी या डिप) डिज़ाइनर को ऐसी संपत्ति बनाने की अनुमति देता है जो एक अपेक्षित तरीके से दिखाई देती हैं, लक्ष्य डिवाइस के संकल्प या घनत्व पर कोई फर्क नहीं पड़ता।
एक घनत्व स्वतंत्र पिक्सेल (डीपी या डिप) बेसलाइन घनत्व या 160 डीपीआई (डॉट्स प्रति इंच) पर एक पिक्सेल के बराबर है।
1 पीएक्स / 1 डीपी = 160 डीपीआई / 160 डीपीआई
2 px / 1dp = 320 डीपीआई (2x) / 160 डीपीआई
कहाँ पे,
डीपीआई डॉट्स प्रति इंच है
तो, 320 डीपीआई पर, 1 डीपी 2 पीएक्स के बराबर है।
सूत्र
px / dp = dpi / 160dpi
डिस्प्ले स्क्रीन पर डॉट्स प्रति इंच (डीपीआई) तीक्ष्णता (यानी प्रबुद्ध बिंदुओं का घनत्व) का एक माप है। किसी दिए गए चित्र रिज़ॉल्यूशन के लिए प्रति इंच डॉट्स समग्र स्क्रीन आकार के आधार पर भिन्न होंगे क्योंकि समान संख्या में पिक्सेल एक अलग स्थान पर फैले जा रहे हैं।
घनत्व स्वतंत्र पिक्सेल के साथ काम करना हमें ऐसी स्थिति से निपटने में मदद करता है, जहां आपके पास एक ही पिक्सेल रिज़ॉल्यूशन वाले दो डिवाइस हैं, लेकिन अंतरिक्ष की अलग-अलग मात्रा है। मान लीजिए, एक टैबलेट और फोन में समान पिक्सेल रिज़ॉल्यूशन 1280 क्रमशः 800 पिक्सल (160 डीपीआई) और 800 बाय 1280 पिक्सल (320 डीपीआई) है।
अब क्योंकि एक टैबलेट बेसलाइन घनत्व (160 डीपीआई) पर है, इसके भौतिक और घनत्व स्वतंत्र पिक्सेल आकार समान हैं, 1280 से 800 तक। दूसरी ओर फोन में पिक्सेल घनत्व अधिक है, इसलिए इसमें भौतिक घनत्व के रूप में कई घनत्व स्वतंत्र पिक्सेल आधे हैं। पिक्सल। तो एक फोन में 400 से 640 घनत्व स्वतंत्र पिक्सेल होते हैं। इसलिए एक घनत्व-रहित पिक्सेल का उपयोग करने से मानसिक रूप से चित्र बनाने में आसानी होती है कि टैबलेट में फोन की तुलना में बहुत अधिक जगह है।
इसी तरह, यदि आपके पास समान स्क्रीन आकार वाले दो डिवाइस हैं, लेकिन अलग-अलग पिक्सेल घनत्व, कहते हैं कि एक 800 1280 पिक्सल (320 डीपीआई) है, और दूसरा 400 पिक्सेल 640 (160 डीपीआई) है, हमें पूरी तरह से परिभाषित करने की आवश्यकता नहीं है इन दो उपकरणों के लिए अलग-अलग लेआउट, क्योंकि हम घनत्व स्वतंत्र पिक्सेल के मामले में संपत्ति को माप सकते हैं जो दोनों उपकरणों के लिए समान है।
800 गुणा 1280 पिक्सल (320 डीपीआई) = 400 बाय 640 घनत्व स्वतंत्र पिक्सेल (डीपी)
400 बाय 640 पिक्सेल (160 डीपीआई) = 400 बाय 640 घनत्व स्वतंत्र पिक्सेल (डीपी)
फ़ॉन्ट आकार के लिए स्केल स्वतंत्र पिक्सेल (sp) पसंदीदा इकाई है। पहुँच उद्देश्यों के लिए, एंड्रॉइड उपयोगकर्ताओं को अपने डिवाइस के फ़ॉन्ट आकार को अनुकूलित करने की अनुमति देता है। जिन उपयोगकर्ताओं को पाठ पढ़ने में परेशानी होती है, वे अपने डिवाइस का फ़ॉन्ट आकार बढ़ा सकते हैं। आप आम तौर पर फ़ॉन्ट आकार के तहत अपने फोन या टैबलेट में डिस्प्ले सेटिंग में यह विकल्प पा सकते हैं। यह अक्सर एक्सेसिबिलिटी सेटिंग्स के माध्यम से भी उपलब्ध है।
स्केल स्वतंत्र पिक्सेल के साथ, 16 sp बिल्कुल 16 dp के समान है जब डिवाइस का फ़ॉन्ट आकार सामान्य या 100% है। लेकिन जब डिवाइस का फ़ॉन्ट आकार बड़ा होता है, उदाहरण के लिए 125%, 16 एसपी 20 डीपी या 1.25 गुना 16 में अनुवाद करेगा।
यदि आप फ़ॉन्ट आकार के लिए इकाई के रूप में dp का उपयोग करते हैं, तो पाठ के उस टुकड़े का एक विशिष्ट भौतिक आकार होता है, भले ही उपयोगकर्ता ने डिवाइस के फ़ॉन्ट आकार को अनुकूलित किया हो। एसपी इकाइयों का उपयोग बिगड़ा हुआ दृष्टि वाले लोगों के लिए एक बेहतर अनुभव होगा।
संदर्भ : उडासिटी , गूगल
प्लेटफ़ॉर्म के आधार पर स्क्रीन पिक्सेल घनत्व और रिज़ॉल्यूशन भिन्न होता है। डिवाइस-स्वतंत्र पिक्सेल और स्केलेबल पिक्सेल इकाइयाँ हैं जो प्लेटफ़ॉर्म पर डिज़ाइन को समायोजित करने के लिए एक लचीला तरीका प्रदान करती हैं।
एक इंच में फिट होने वाले पिक्सेल की संख्या को पिक्सेल घनत्व के रूप में जाना जाता है। उच्च घनत्व स्क्रीन में कम घनत्व वाले लोगों की तुलना में प्रति इंच अधिक पिक्सेल होते हैं ...।
एक इंच में फिट होने वाले पिक्सेल की संख्या को पिक्सेल घनत्व के रूप में जाना जाता है। उच्च घनत्व स्क्रीन में कम घनत्व वाले लोगों की तुलना में प्रति इंच अधिक पिक्सेल होते हैं। नतीजतन, समान पिक्सेल आयामों के UI तत्व कम-घनत्व स्क्रीन पर बड़े दिखाई देते हैं, और उच्च-घनत्व स्क्रीन पर छोटे होते हैं।
स्क्रीन घनत्व की गणना करने के लिए, आप इस समीकरण का उपयोग कर सकते हैं:
स्क्रीन घनत्व = स्क्रीन की चौड़ाई (या ऊंचाई) पिक्सल / स्क्रीन चौड़ाई (या ऊंचाई) इंच में
प्लेटफ़ॉर्म के आधार पर स्क्रीन पिक्सेल घनत्व और रिज़ॉल्यूशन भिन्न होता है। डिवाइस-स्वतंत्र पिक्सेल और स्केलेबल पिक्सेल इकाइयाँ हैं जो प्लेटफ़ॉर्म पर डिज़ाइन को समायोजित करने के लिए एक लचीला तरीका प्रदान करती हैं।
पिक्सेल घनत्व की गणना एक इंच में फिट होने वाले पिक्सेल की संख्या को पिक्सेल घनत्व के रूप में जाना जाता है । उच्च घनत्व स्क्रीन में कम घनत्व वाले लोगों की तुलना में प्रति इंच अधिक पिक्सेल होते हैं ...।
घनत्व स्वतंत्रता विभिन्न घनत्व वाले स्क्रीन पर यूआई तत्वों के समान प्रदर्शन को संदर्भित करता है।
घनत्व-स्वतंत्र पिक्सेल , जिसे dp (उच्चारण " dips ") के रूप में लिखा जाता है , लचीली इकाइयाँ हैं जो किसी भी स्क्रीन पर समान आयाम रखती हैं। सामग्री यूआई विभिन्न घनत्व वाले स्क्रीन पर लगातार तत्वों को प्रदर्शित करने के लिए घनत्व-स्वतंत्र पिक्सेल का उपयोग करते हैं।
पूरा पाठ पढ़ें https://material.io/design/layout/pixel-density.html
पिक्सेल (px) - स्क्रीन पर वास्तविक पिक्सेल से मेल खाती है। यदि आप चौड़ाई या ऊंचाई के लिए निरपेक्ष पिक्सेल के संदर्भ में देना चाहते हैं तो इसका उपयोग किया जाता है।
घनत्व-स्वतंत्र पिक्सेल (डीपी या डिप) - एक अमूर्त इकाई जो स्क्रीन के भौतिक घनत्व पर आधारित है। ये इकाइयां 160 डीपीआई स्क्रीन के सापेक्ष हैं, इसलिए एक डीपी 160 डीपीआई स्क्रीन पर एक पिक्सेल है। डीपी-टू-पिक्सेल का अनुपात स्क्रीन घनत्व के साथ बदल जाएगा, लेकिन जरूरी नहीं कि प्रत्यक्ष अनुपात में। नोट: संकलक "डुबकी" और "डीपी" दोनों स्वीकार करता है, हालांकि "डीपी" "एसपी" के साथ अधिक सुसंगत है।
स्केल-स्वतंत्र पिक्सेल (सपा) - यह डीपी यूनिट की तरह है, लेकिन यह उपयोगकर्ता के फ़ॉन्ट आकार की वरीयता से भी बढ़ा है। यह अनुशंसा की जाती है कि आप फ़ॉन्ट आकार निर्दिष्ट करते समय इस इकाई का उपयोग करें, इसलिए उन्हें स्क्रीन घनत्व और उपयोगकर्ता की वरीयता दोनों के लिए समायोजित किया जाएगा।
हमेशा dp और sp का ही उपयोग करें। फ़ॉन्ट आकार और डीपी के लिए सब कुछ के लिए सपा। यह अलग-अलग घनत्व वाले एंड्रॉइड डिवाइसों के लिए यूआई को संगत बनाएगा। आप https://www.google.com/design/spec/layout/units-measurements.html#units-measurements-density-independent-pixels-dp- से पिक्सेल और dp के बारे में अधिक जान सकते हैं
स्रोत url: - http://www.androidtutorialshub.com/what-is-the-difference-between-px-dp-dip-sp-on-android/
मैं समझने का एक आसान तरीका प्रदान करना चाहता हूं dp
। वास्तव में, मुझे लगता dp
है कि समझना सबसे आसान है। dp
सिर्फ एक भौतिक लंबाई इकाई है। यह के रूप में mm
या के समान आयाम है inch
। यह सिर्फ सुविधाजनक हमें लिखने के लिए है 50dp
, 60dp
के बजाय 50/160 inch
या 60/160 inch
, क्योंकि एक dp
बस है 1/160 inch
जो कुछ भी स्क्रीन आकार या संकल्प है।
एकमात्र समस्या यह है कि, कुछ स्क्रीन का android dpi सटीक नहीं है। उदाहरण के लिए, 160dpi पर वर्गीकृत एक स्क्रीन में वास्तव में 170dpi हो सकती है। तो गणना परिणाम dp
फजी है। यह लगभग समान होना चाहिए 1/160 inch
।