"Px", "डिप", "dp" और "sp" में क्या अंतर है?


5813

माप की Android इकाइयों के बीच अंतर क्या है?

  • पिक्सल
  • डुबोना
  • डी पी
  • एसपी

65
इस में एंड्रॉयड [पिक्सल, डुबकी, डी पी और एसपी के बीच पूर्ण अंतर का उपयोग है developer.android.com/guide/topics/resources/...
NagarjunaReddy

20
मेरी राय में, यह निफ्टी कन्वर्टर सबसे अच्छा प्रदर्शित करता है । यह फ़ोटोशॉप से ​​स्प्राइट निर्यात करने या भौतिक आयाम के लिए अपने लेआउट को डिज़ाइन करने के लिए भी बेहद उपयोगी है।
पॉल लामर्ट्स्मा



1
पिक्सेल-घनत्व सामग्री के
।io

जवाबों:


5770

से Android डेवलपर प्रलेखन :

  1. px
    पिक्सेल - स्क्रीन पर वास्तविक पिक्सेल से मेल खाती है।

  2. में
    इंच - स्क्रीन के शारीरिक आकार के आधार पर।
    1 इंच = 2.54 सेंटीमीटर

  3. मिमी
    मिलीमीटर - स्क्रीन के भौतिक आकार के आधार पर।

  4. pt
    अंक - स्क्रीन के भौतिक आकार के आधार पर एक इंच का 1/72।

  5. डीपी या डिप
    डेंसिटी -डिपेंडेंट पिक्सल - एक अमूर्त इकाई जो स्क्रीन के भौतिक घनत्व पर आधारित होती है। ये इकाइयां 160 डीपीआई स्क्रीन के सापेक्ष हैं, इसलिए एक डीपी 160 डीपीआई स्क्रीन पर एक पिक्सेल है। डीपी-टू-पिक्सेल का अनुपात स्क्रीन घनत्व के साथ बदल जाएगा, लेकिन जरूरी नहीं कि प्रत्यक्ष अनुपात में। नोट: संकलक "डिप" और "डीपी" दोनों को स्वीकार करता है, हालांकि "डीपी" "स्प" के साथ अधिक सुसंगत है।

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

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 डिज़ाइन दस्तावेज़ में भी देखी जा सकती है ।


17
भले ही वे एक ही चीज हो, मैं dp के साथ बहुत सारी समस्याएँ
रखता हूँ

247
डीबी / एसपी के बारे में एक नोट जो पूरी तरह से स्पष्ट नहीं है: इन के लिए होने वाली स्केलिंग उपकरणों पर निर्भर नहीं होती है असली घनत्व (डीपीआई) लेकिन जिस पर घनत्व की "बाल्टी" यह गिरती है: उपलब्ध बाल्टी हैं: 120,160,240-320। यह स्क्रीन को संभालने में कुछ समस्याएं पैदा कर सकता है जो कि काफी भिन्न होते हैं लेकिन समान रूप से बकेट हो जाते हैं।
Fraggle

15
ध्यान दें कि दस्तावेज़ीकरण में अब "डिप" का उल्लेख नहीं है, बस "डीपी", हालांकि कंपाइलर अभी भी "डिप" को स्वीकार करता है।
एडम रोसेनफील्ड

15
@android_developer (ऊपर 5 टिप्पणियाँ) dpकरता नहीं एक ही भौतिक लंबाई की है। (हालांकि यह करीब है।) बाल्टी के बारे में @ फ्रैगल की टिप्पणी देखें। इसका मतलब यह है कि 48dp लगभग 8 मिमी (0.3 इंच) होगा, लेकिन यह 11 मिमी तक भिन्न हो सकता है।
इंट्रपिडिस

11
बकेटिंग का कारण यह है कि डेवलपर्स विभिन्न घनत्वों के कुछ उपकरणों पर अपने ऐप का परीक्षण कर सकते हैं और आश्वस्त हो सकते हैं कि लेआउट कई उपकरणों पर समान दिखेंगे। इसलिए भले ही बटन आदि का भौतिक आकार थोड़ा बदल जाए, लेकिन किसी गतिविधि का समग्र रूप वही होगा।
इंट्रापिडिस

684

इस बारे में बहुत कुछ और विभिन्न आकारों और घनत्वों के कई स्क्रीन के लिए सबसे अच्छा समर्थन प्राप्त करने के बारे में बहुत कुछ यहाँ बहुत अच्छी तरह से प्रलेखित है:

स्क्रीन का आकार
वास्तविक भौतिक आकार, स्क्रीन के विकर्ण के रूप में मापा जाता है। सरलता के लिए, एंड्रॉइड सभी वास्तविक स्क्रीन आकारों को चार सामान्यीकृत आकारों में: छोटे, सामान्य, बड़े और अतिरिक्त-बड़े।

स्क्रीन घनत्व स्क्रीन
के एक भौतिक क्षेत्र के भीतर पिक्सल की संख्या; आमतौर पर डीपीआई (डॉट्स प्रति इंच) के रूप में जाना जाता है। उदाहरण के लिए, "सामान्य" या "उच्च" घनत्व स्क्रीन की तुलना में "कम" घनत्व स्क्रीन में किसी दिए गए भौतिक क्षेत्र में कम पिक्सेल होते हैं। सरलता के लिए, एंड्रॉइड सभी वास्तविक स्क्रीन घनत्वों को छह सामान्यीकृत घनत्वों में जोड़ता है: निम्न, मध्यम, उच्च, अतिरिक्त-उच्च, अतिरिक्त-अतिरिक्त-उच्च, और अतिरिक्त-अतिरिक्त-अतिरिक्त-उच्च।

अभिविन्यास
उपयोगकर्ता के दृष्टिकोण से स्क्रीन का उन्मुखीकरण। यह या तो परिदृश्य या चित्र है, जिसका अर्थ है कि स्क्रीन का पहलू अनुपात या तो व्यापक या लंबा है। ज्ञात रहे कि विभिन्न डिवाइस न केवल अलग-अलग ओरिएंटेशन में डिफॉल्ट रूप से काम करते हैं, बल्कि जब यूजर डिवाइस को घुमाता है तो ओरिएंटेशन रनटाइम में बदल सकता है।

रिज़ॉल्यूशन
एक स्क्रीन पर भौतिक पिक्सेल की कुल संख्या। कई स्क्रीन के लिए समर्थन जोड़ते समय, एप्लिकेशन सीधे रिज़ॉल्यूशन के साथ काम नहीं करते हैं; आवेदन केवल स्क्रीन आकार और घनत्व के साथ संबंधित होना चाहिए, जैसा कि सामान्यीकृत आकार और घनत्व समूहों द्वारा निर्दिष्ट किया गया है।

घनत्व-स्वतंत्र पिक्सेल (dp)
एक आभासी पिक्सेल इकाई जिसका उपयोग आपको यूआई लेआउट को परिभाषित करते समय करना चाहिए, लेआउट आयाम या घनत्व-स्वतंत्र तरीके से स्थिति व्यक्त करने के लिए। घनत्व-स्वतंत्र पिक्सेल 160 डीपीआई स्क्रीन पर एक भौतिक पिक्सेल के बराबर है, जो सिस्टम द्वारा "मध्यम" घनत्व स्क्रीन के लिए ग्रहण की गई आधारभूत घनत्व है। रनटाइम के दौरान, सिस्टम पारदर्शी रूप से उपयोग में स्क्रीन के वास्तविक घनत्व के आधार पर, dp इकाइयों के किसी भी स्केलिंग को संभालता है। स्क्रीन पिक्सल के लिए dp इकाइयों का रूपांतरण सरल है px = dp * (dpi / 160):। उदाहरण के लिए, 240 डीपीआई स्क्रीन पर, 1 डीपी 1.5 भौतिक पिक्सेल के बराबर होता है। विभिन्न घनत्व वाले स्क्रीन पर अपने UI का उचित प्रदर्शन सुनिश्चित करने के लिए, आपको अपने एप्लिकेशन के UI को परिभाषित करते समय हमेशा dp इकाइयों का उपयोग करना चाहिए।

यदि आप एक से अधिक प्रकार के डिवाइस के लिए एंड्रॉइड ऐप विकसित करने के बारे में गंभीर हैं, तो आपको कम से कम एक बार स्क्रीन सपोर्ट डेवलपमेंट दस्तावेज़ को पढ़ना चाहिए। इसके अलावा, सक्रिय डिवाइसों की वास्तविक संख्या जानने के लिए यह हमेशा एक अच्छी बात है कि एक विशेष स्क्रीन कॉन्फ़िगरेशन है।


41
इसलिए यदि आप बटन के लिए dp का उपयोग करते हैं और बटन पाठ के फ़ॉन्ट आकार के लिए उपयोग करते हैं, तब क्या होता है जब उपयोगकर्ता स्केलिंग शुरू करता है? पाठ बड़ा हो जाएगा, लेकिन क्या बटन भी बड़ा करके इसे समायोजित करेगा?
Wytze

11
@Wytze, nope उन चीजों के लिए जहां पाठ को फिट करना एक मुद्दा हो सकता है, मैं बस डुबकी का उपयोग करूंगा ताकि चीजें अतिप्रवाह न हों।
एसके

12
@Wytze और मैं, इसके विपरीत, दोनों पाठ और जो कुछ भी इसमें शामिल हैं, के लिए सपा का उपयोग करें। उदाहरण के लिए, अगर मेरे पास एक निश्चित आकार और उसके अंदर एक पाठ के साथ एक बटन है, तो मैं बटन आकार को पीछे से असाइन करूंगा, ताकि जरूरत पड़ने पर भी यह हो सके। अन्यथा, उपयोगकर्ता नाराज हो जाएगा कि उसने पाठ का आकार बढ़ा दिया, और यह नहीं बढ़ा। बेशक, लेआउट को अनुमति देने के लिए पर्याप्त लचीला होना चाहिए।
मैल्कम

2
यदि आपके डिज़ाइनर टेक्स्ट-आधारित तत्वों के लिए स्थान आकार के अनुसार स्केल करने के लिए जगह नहीं छोड़ेंगे, तो एक विकल्प यह है कि आप एक संकीर्ण डिवाइस के लिए जो भी लेआउट का उपयोग करते हैं, उसे स्विच करें, फिर सब कुछ समान रूप से स्केल करें (DisplayMetrics.scaledD घनत्व / DisplayMetrics। घनत्व)।
जॉन मेलोर

@ किसी भी खाली जगह की कमी के कारण i18n के दौरान भी समस्या पैदा होगी
गतिविधि को कम करना

346

मैं अधिक विस्तार से बताऊंगा कि कैसे dp px में परिवर्तित होता है:

  • यदि mdpi डिवाइस पर चल रहा है, तो एक 150 x 150 pxछवि 150 * 150 dpस्क्रीन स्पेस लेगी ।
  • यदि एचडीपीआई डिवाइस पर चल रहा है, तो एक 150 x 150 pxछवि 100 * 100 dpस्क्रीन स्पेस लेगी ।
  • अगर एक xhdpi डिवाइस पर चल रहा है, तो एक 150x150 pxछवि 75 * 75 dpस्क्रीन स्पेस लेगी ।

आसपास का दूसरा तरीका: कहते हैं, आप अपने एप्लिकेशन में एक छवि जोड़ना चाहते हैं और आपको एक 100 * 100 dpनियंत्रण भरने की आवश्यकता है । आपको समर्थित स्क्रीन आकारों के लिए अलग-अलग आकार की छवियां बनाने की आवश्यकता होगी:

  • 100 * 100 px mdpi के लिए छवि
  • 150 * 150 px एचडीपीआई के लिए छवि
  • 200 * 200 px xhdpi के लिए छवि

2
हम एचडीपीआई, ldpi, mdpi आदि के लिए पिक्सेल की गणना कैसे करते हैं। मैंने सुना है कि हम इस सूत्र का उपयोग करते हैं..पीएक्स = डीपी * (डीपीआई / १६०); क्या आप मुझे इस सूत्र के साथ समझा सकते हैं?
राकेश पतंगा

@Rakeshpatanga 160 डीपीआई के घनत्व पर, 1 px = 1 डीपी (भौतिक पिक्सेल और डीपी एब्स्ट्रैक्शन समान हैं)। यही है, एक डीपी के लिए हमारे पास (1) * (160/160) = 1, या बिल्कुल 1 px है। 320 डीपीआई के उच्च घनत्व पर, एक डीपी है (1) * (320/160) = 2 पिक्सेल, और दो डीपी हैं (2) * (320/160) = 4 पीएक्स।
समि

इन्हें देखने के लिए मोनोस्पेस में लाइन: | 1dp | | | ___ | ___ | 160, | _ | _ | _ | _ | | 320 (अल्पविराम के बाद लाइन को तोड़ना)। | _ | = 1 पी आई एक्स एक्स एल।
समिस

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

285

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

233

इसके अलावा आपको निम्नलिखित अवधारणाओं के बारे में स्पष्ट समझ होनी चाहिए:

स्क्रीन का आकार:

वास्तविक भौतिक आकार, स्क्रीन के विकर्ण के रूप में मापा जाता है। सरलता के लिए, एंड्रॉइड सभी वास्तविक स्क्रीन आकारों को चार सामान्यीकृत आकारों में: छोटे, सामान्य, बड़े और अतिरिक्त बड़े।

स्क्रीन घनत्व:

स्क्रीन के एक भौतिक क्षेत्र के भीतर पिक्सेल की मात्रा; आमतौर पर डीपीआई (डॉट्स प्रति इंच) के रूप में जाना जाता है। उदाहरण के लिए, "सामान्य" या "उच्च" घनत्व स्क्रीन की तुलना में "कम" घनत्व स्क्रीन में किसी दिए गए भौतिक क्षेत्र में कम पिक्सेल होते हैं। सरलता के लिए, एंड्रॉइड सभी वास्तविक स्क्रीन घनत्वों को चार सामान्यीकृत घनत्वों में: निम्न, मध्यम, उच्च और अतिरिक्त उच्च।

अभिविन्यास:

उपयोगकर्ता के दृष्टिकोण से स्क्रीन का उन्मुखीकरण। यह या तो परिदृश्य या चित्र है, जिसका अर्थ है कि स्क्रीन का पहलू अनुपात या तो व्यापक या लंबा है। ज्ञात रहे कि न केवल अलग-अलग डिवाइस अलग-अलग ओरिएंटेशन में डिफॉल्ट रूप से काम करते हैं, बल्कि जब यूजर डिवाइस को घुमाता है तो ओरिएंटेशन रनटाइम में बदल सकता है।

संकल्प:

एक स्क्रीन पर भौतिक पिक्सेल की कुल संख्या। कई स्क्रीन के लिए समर्थन जोड़ते समय, एप्लिकेशन सीधे रिज़ॉल्यूशन के साथ काम नहीं करते हैं; आवेदन केवल स्क्रीन आकार और घनत्व के साथ संबंधित होना चाहिए, जैसा कि सामान्यीकृत आकार और घनत्व समूहों द्वारा निर्दिष्ट किया गया है।

घनत्व-स्वतंत्र पिक्सेल (dp):

एक आभासी पिक्सेल इकाई जिसे आपको यूआई लेआउट को परिभाषित करते समय उपयोग करना चाहिए, लेआउट आयाम या घनत्व-स्वतंत्र तरीके से स्थिति व्यक्त करने के लिए। घनत्व-स्वतंत्र पिक्सेल 160 डीपीआई स्क्रीन पर एक भौतिक पिक्सेल के बराबर है, जो कि एक "मध्यम" घनत्व स्क्रीन के लिए सिस्टम द्वारा ग्रहण की गई बेसलाइन घनत्व है। रनटाइम के दौरान, सिस्टम पारदर्शी रूप से उपयोग में स्क्रीन के वास्तविक घनत्व के आधार पर, डीपी इकाइयों के किसी भी स्केलिंग को संभालता है। स्क्रीन पिक्सल के लिए dp इकाइयों का रूपांतरण सरल है: px = dp * (dpi / 160)। उदाहरण के लिए, 240 डीपीआई स्क्रीन पर, 1 डीपी 1.5 भौतिक पिक्सेल के बराबर होता है। विभिन्न घनत्व वाले स्क्रीन पर अपने UI का उचित प्रदर्शन सुनिश्चित करने के लिए, आपको अपने एप्लिकेशन के UI को परिभाषित करते समय हमेशा dp इकाइयों का उपयोग करना चाहिए।

संदर्भ: एंड्रॉइड डेवलपर्स साइट


क्या इसका मतलब यह है कि डीपी इकाइयों का उपयोग करके आपके द्वारा डिज़ाइन की गई कोई भी चीज़ डिवाइस के पिक्सेल घनत्व की परवाह किए बिना हमेशा स्क्रीन का एक ही% हिस्सा लेगी? समान पहलू अनुपात मानते हुए।
DBIT

198

dpहै dip। यह सब कुछ के लिए उपयोग करें (मार्जिन, पैडिंग, आदि)।

spकेवल {text-size} के लिए उपयोग करें ।


विभिन्न स्क्रीन घनत्वों पर समान आकार प्राप्त करने के लिए, एंड्रॉइड इन इकाइयों को रनटाइम में पिक्सेल में अनुवाद करता है, इसलिए आपके लिए ऐसा करने के लिए कोई मुश्किल गणित नहीं है।


के बीच का अंतर देखें px, dpऔर spअलग अलग स्क्रीन आकार पर।

यहां छवि विवरण दर्ज करें

स्रोत: एंड्रॉइड प्रोग्रामिंग: द बिग नर्ड रेंच गाइड


143

मैंने रूपांतरण dpiकरने dpऔर करने के लिए नीचे दिए गए सूत्र की गणना की हैsp यहां छवि विवरण दर्ज करें


10
इसे dpi के बजाय ppi होना चाहिए
Prateek

141

परिभाषाएं

px या dot भौतिक स्क्रीन पर एक पिक्सेल है

dpi भौतिक स्क्रीन पर प्रति इंच पिक्सेल है और प्रदर्शन के घनत्व का प्रतिनिधित्व करता है।

एंड्रॉइड कई घनत्वों को उपनाम देता है

  • ldpi (कम) ~ 120dpi
  • mdpi (माध्यम) ~ 160dpi
  • एचडीपीआई (उच्च) ~ 240 डीपीआई
    • 2015 में अधिकांश डिवाइस यहां हैं
  • xhdpi (अतिरिक्त-उच्च) ~ 320dpi
    • Apple iPhone 4/5/6, Nexus 4
  • xxhdpi (अतिरिक्त-अतिरिक्त-उच्च) ~ 480dpi
    • नेक्सस 5
  • xxxhdpi (अतिरिक्त-अतिरिक्त-अतिरिक्त-उच्च) ~ 640dpi

डुबकी या डीपी हैं घनत्व-indenpendant पिक्सल , यानी वे कम या ज्यादा पिक्सल शारीरिक घनत्व के आधार पर के अनुरूप हैं।

  • Mdpi पर 1dp = 1px

यहां छवि विवरण दर्ज करें

sp या sip एक पैमाना-स्वतंत्र पिक्सेल है । वे कर दिया जाता है जब बड़ा पाठ विकल्प में चालू है Settings>Accessibility

  • 1sp = 1dp
  • 1sp = 1.2dp एक्सेसिबिलिटी बड़े टेक्स्ट के साथ

क्या उपयोग करें?

पाठ आकार के लिए सपा का उपयोग करें ।

सब कुछ के लिए डीपी का उपयोग करें ।


128

स्रोत 1

स्रोत 2

स्रोत 3 : (स्रोत 3 से डेटा नीचे दिया गया है)

ये XML में परिभाषित आयाम मूल्य हैं। माप की एक इकाई के बाद एक संख्या के साथ एक आयाम निर्दिष्ट किया जाता है। उदाहरण के लिए: 10px, 2in, 5sp। माप की निम्नलिखित इकाइयाँ Android द्वारा समर्थित हैं:

डी पी

घनत्व-स्वतंत्र पिक्सेल - एक अमूर्त इकाई जो स्क्रीन के भौतिक घनत्व पर आधारित होती है। ये इकाइयां एक 160 डीपीआई (डॉट्स प्रति इंच) स्क्रीन के सापेक्ष हैं, जिस पर 1dp लगभग 1px के बराबर है। उच्च घनत्व स्क्रीन पर चलने पर, 1dp को खींचने के लिए उपयोग किए जाने वाले पिक्सेल की संख्या को स्क्रीन के डीपीआई के लिए उपयुक्त कारक द्वारा बढ़ाया जाता है। इसी तरह, जब एक कम घनत्व स्क्रीन पर, 1dp के लिए उपयोग किए जाने वाले पिक्सेल की संख्या कम हो जाती है। डीपी-टू-पिक्सेल का अनुपात स्क्रीन घनत्व के साथ बदल जाएगा, लेकिन जरूरी नहीं कि प्रत्यक्ष अनुपात में। डीपी इकाइयों (पीएक्स इकाइयों के बजाय) का उपयोग करना आपके लेआउट में दृश्य आयामों को विभिन्न स्क्रीन घनत्वों के लिए ठीक से आकार देने के लिए एक सरल समाधान है। दूसरे शब्दों में, यह विभिन्न उपकरणों पर आपके UI तत्वों के वास्तविक-विश्व आकार के लिए स्थिरता प्रदान करता है।

एसपी

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

pt

अंक - स्क्रीन के भौतिक आकार के आधार पर एक इंच का 1/72।

पिक्सल

पिक्सेल - स्क्रीन पर वास्तविक पिक्सेल के अनुरूप है। माप की इस इकाई की सिफारिश नहीं की जाती है क्योंकि वास्तविक प्रतिनिधित्व उपकरणों में भिन्न हो सकता है; प्रत्येक डिवाइस में प्रति इंच पिक्सेल की एक अलग संख्या हो सकती है और स्क्रीन पर अधिक या कम कुल पिक्सेल उपलब्ध हो सकते हैं।

मिमी

मिलीमीटर - स्क्रीन के भौतिक आकार के आधार पर।

में

इंच - स्क्रीन के भौतिक आकार के आधार पर।

नोट: एक आयाम एक साधारण संसाधन है जिसे नाम विशेषता में दिए गए मूल्य (XML फ़ाइल का नाम नहीं) का उपयोग करके संदर्भित किया जाता है। जैसे, आप एक तत्व के तहत एक एक्सएमएल फ़ाइल में अन्य सरल संसाधनों के साथ आयाम संसाधनों को जोड़ सकते हैं।


9
भी: इस उत्तर का अतिरिक्त मूल्य क्या है? ऐसा कुछ भी प्रतीत नहीं होता है जिसका अन्य उत्तरों में पहले ही उल्लेख नहीं किया गया हो।
लालाटो

118

मूल रूप से केवल उसी समय जहां px लागू होता है, एक px होता है, और यदि आप स्क्रीन पर ठीक एक पिक्सेल चाहते हैं, तो विभक्त के मामले में:

> 160 डीपीआई पर, आपको 2-3 पिक्सेल मिल सकते हैं,

> 120 डीपीआई पर, यह 0 से गोल होता है।


getDimensionPixelOffset राउंड डाउन, getDimensionPixelSize राउंड अप।
यूजेन पिंचेक

101

पिक्सल

पिक्सेल - स्क्रीन पर वास्तविक पिक्सेल से मेल खाती है।

डीपी या डुबकी

घनत्व-स्वतंत्र पिक्सेल - एक अमूर्त इकाई जो स्क्रीन के भौतिक घनत्व पर आधारित होती है। ये इकाइयां 160 डीपीआई स्क्रीन के सापेक्ष हैं, इसलिए एक डीपी 160 डीपीआई स्क्रीन पर एक पिक्सेल है।

डीपी का उपयोग:

घनत्व स्वतंत्रता - आपका आवेदन विभिन्न घनत्वों के साथ स्क्रीन पर प्रदर्शित होने पर उपयोगकर्ता इंटरफ़ेस तत्वों के भौतिक आकार (उपयोगकर्ता के दृष्टिकोण से) को संरक्षित करने पर "घनत्व स्वतंत्रता" प्राप्त करता है। (यानी) छवि को विभिन्न प्रकार के स्क्रीन में एक ही आकार (बढ़े हुए या सिकुड़े हुए) नहीं दिखना चाहिए।

एसपी

स्केल-स्वतंत्र पिक्सेल - यह dp इकाई की तरह है, लेकिन यह उपयोगकर्ता के फ़ॉन्ट आकार वरीयता द्वारा भी बढ़ाया जाता है।

http://developer.android.com/guide/topics/resources/more-resources.html#Dimension


97

पीएक्स और डीपी के बीच क्या और संबंध कहां उपयोग करें?

घनत्व-स्वतंत्र पिक्सेल (dp)

एक आभासी पिक्सेल इकाई जिसे आपको यूआई लेआउट को परिभाषित करते समय उपयोग करना चाहिए, लेआउट आयाम या घनत्व-स्वतंत्र तरीके से स्थिति व्यक्त करने के लिए। जैसा कि ऊपर वर्णित है, घनत्व-स्वतंत्र पिक्सेल 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
  • रचनात्मक टीम से सम संख्या में सभी पिक्सेल मान प्राप्त करने का प्रयास करें। अन्यथा 0.5 के साथ गुणा करते समय परिशुद्धता खो जाएगी।

पिक्सल

यह ऊपर बताया गया है। लेआउट फ़ाइलों में से बचने की कोशिश करें। लेकिन कुछ मामले हैं, जहां पीएक्स की आवश्यकता होती है। उदाहरण के लिए, सूची दृश्य विभक्त लाइन। px स्क्रीन रिज़ॉल्यूशन के सभी के लिए विभक्त के रूप में एक-पिक्सेल लाइन देने के लिए बेहतर है।

एसपी

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


89

आप के बीच के अंतर को देख सकते हैं pxऔर dpनीचे के चित्र से, और आप भी पा सकते हैं कि pxऔर dpअलग अलग स्क्रीन पर एक ही शारीरिक आकार की गारंटी नहीं दे सकता है।

यहां छवि विवरण दर्ज करें


3
@EnesBattal, मुझे लगता है क्योंकि डीपी एक तीव्र भौतिक आकार नहीं है, यह एक अनुमानित मूल्य है। CapTech से कोटिंग: "डीपी - यह एक घनत्व स्वतंत्र इकाई है, हालांकि एक एकल" डीपी "का भौतिक आकार लगभग हर स्क्रीन घनत्व पर समान है। एक इंच में लगभग 160" डीपी "हैं। एक स्केलिंग कारक, निर्भर करता है। डिवाइस की घनत्व बाल्टी पर, "डीपी" को 160 डीपीआई पर पिक्सेल में बदलने के लिए लागू किया जाता है। पिक्सल का एक एकल "डीपी" अनुवाद स्क्रीन घनत्व पर पिक्सेल के आधार पर भिन्न होता है और डिवाइस बाल्टी गिरता है में। "
ज़ेफियर

3
@RuchirBaronia, मुझे लगता है कि डीपी या डीआईपी अभी भी एपीके के अंदर है, क्योंकि एपीके को पता नहीं है कि यह किस प्रकार की स्क्रीन घनत्व के साथ अभी तक चलेगा, इसलिए डिवाइस की स्वतंत्रता अभी भी रखी जानी चाहिए।
Zephyr

79

पाठ और उपस्थिति के आकार से संबंधित कुछ भी उपयोग करना चाहिए spया pt। जबकि, नियंत्रण के आकार, लेआउट आदि से संबंधित किसी भी चीज का उपयोग किया जाना चाहिए dp

आप दोनों dpऔर dipउसके स्थानों पर उपयोग कर सकते हैं।


69

मैं केवल dp का उपयोग करूंगा।

फ़ॉन्ट आकारों के लिए "सपा" का उपयोग करने के बारे में बहुत सी बात है, और जब मैं बिंदु की सराहना करता हूं, तो मुझे नहीं लगता कि डिजाइन के दृष्टिकोण से ऐसा करना सही है। यदि उपयोगकर्ता के पास कुछ विंचित फ़ॉन्ट आकार का चयन है, तो आप अपने डिज़ाइन को तोड़ सकते हैं, और उपयोगकर्ता ऐप को दोष देगा , न कि अपने स्वयं के जीवन विकल्पों को।

इसके अलावा, अगर आप 160 डीपीआई टैबलेट पर एक स्पॉन-फॉन्ट ऐप लेते हैं, तो आप पाएंगे कि सब कुछ ठीक हो गया है ... लेकिन आपका फॉन्ट, जो तुलना में छोटा दिखने वाला है। यह एक अच्छा लुक नहीं है।

जबकि "स्प" फोंट के विचार में एक अच्छा दिल है, यह एक खराब विचार है। सब कुछ के लिए डीपी के साथ रहना।


1
आप जानते हैं कि लागू किया गया फ़ॉन्ट स्केल फैक्टर spएक कारक है, है ना? जो कुछ dpभी प्रभावित करता है वह भी प्रभावित करेगा sp। उस ने कहा, यदि आपका लेआउट बहुत तंग है और dpइसके बजाय spबड़े आकार फिट नहीं होंगे , तो इसके बजाय फ़ॉन्ट आकारों को निर्दिष्ट करना बेहतर होगा - उपयोगकर्ता द्वारा पूरी तरह से गड़बड़ किए गए लेआउट की तुलना में पाठ को छोटा करने के लिए बेहतर है। लेकिन पहले उदाहरण में आपको हमेशा उपयोगकर्ता के फ़ॉन्ट आकार वरीयता का सम्मान करने का प्रयास करना चाहिए - यहां तक ​​कि सबसे बड़ी सेटिंग भी बड़ी नहीं है।
करु

67

एसपी = स्केल स्वतंत्र पिक्सेल

dp = dip = घनत्व स्वतंत्र पिक्सेल

डीपीआई = डॉट्स प्रति इंच

हमें सपा का उपयोग करने से बचना चाहिए ।

हमें कई स्क्रीन को सपोर्ट करने के लिए dp का उपयोग करना चाहिए ।

एंड्रॉइड विभिन्न स्क्रीन रिज़ॉल्यूशन का समर्थन करता है

  • ldpi (कम) ~ 120 dpi
  • mdpi (माध्यम) ~ 160 dpi
  • एचडीपीआई (उच्च) ~ 240 डीपीआई
  • xhdpi (अतिरिक्त-उच्च) ~ 320 डीपीआई
  • xxhdpi (अतिरिक्त-अतिरिक्त-उच्च) ~ 480 dpi
  • xxxhdpi (अतिरिक्त-अतिरिक्त-अतिरिक्त-उच्च) ~ 640 dpi

एक 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();

समझने के लिए बहुत अच्छा ट्यूटोरियल है: http: /vinsol.com/blog/2014/11/20/tips-for-designers-from-a-developer
Kushal

5
"हमें सपा का उपयोग करने से बचना चाहिए" ऐसा क्यों है? फ़ॉन्ट आकार के साथ काम करते समय आपको sp का उपयोग करना चाहिए क्योंकि यह उपयोगकर्ता के पसंदीदा पाठ आकार को ध्यान में रखता है। developer.android.com/training/multiscreen/screendensities.html
ci_

मैंने लेआउट परिप्रेक्ष्य के सापेक्ष उत्तर दिया है .. कृपया लिंक पर पढ़ें जो आपने प्रदान किया है "इसलिए आपको पाठ आकार को परिभाषित करते समय (लेकिन लेआउट आकारों के लिए कभी भी) इस मापक इकाई का उपयोग नहीं करना चाहिए।"
कुशाल

सवाल था "Android में px, dp, dip और sp के बीच अंतर?" आपके उत्तर में कहा गया है कि "हमें सपा का उपयोग करने से बचना चाहिए"। कहीं भी "लेआउट परिप्रेक्ष्य" का उल्लेख नहीं था।
ci_

हां .. डीपी और डिप समान हैं ... परस्पर उपयोग किया जाता है ... क्या मेरा उत्तर आपकी क्वेरी को हल करता है?
कुशाल

61

के बीच अंतर dpऔर sp"के रूप में उल्लेख इकाइयों को उपयोगकर्ता के फ़ॉन्ट आकार वरीयता " आधिकारिक दस्तावेज से नकल जवाब से बदलकर रन टाइम पर देखा जा सकता है Settings->Accessibility->Large Textविकल्प।

Large Textविकल्प पाठ को 1.3कई गुना बड़ा बनने के लिए मजबूर करता है ।

private static final float LARGE_FONT_SCALE = 1.3f;

पैकेज / ऐप / सेटिंग्स में निहित होने के कारण यह निश्चित रूप से निर्भर विक्रेता का हो सकता है ।


52

डीपीआई -

  • डॉट प्रति इंच
  • स्क्रीन के पिक्सेल घनत्व को मापना।

px - पिक्सेल

  • स्क्रीन पिक्सल की मैपिंग के लिए

पीटी - अंक

  • भौतिक स्क्रीन आकार के संबंध में, एक इंच का लगभग 1/72।

में - इंच - भौतिक स्क्रीन आकार (1 इंच = 2.54 सेमी) के संबंध में।

मिमी- मिलीमीटर - भौतिक स्क्रीन आकार के संबंध में।

सपा पैमाने पर स्वतंत्र पिक्सेल।

  • उपयोगकर्ता के फ़ॉन्ट आकार वरीयता के आधार पर।
  • फ़ॉन्ट 'स्प' में होना चाहिए।

डुबोना -

  • डुबाना == dp
  • घनत्व स्वतंत्र पिक्सेल।
  • यह स्क्रीन घनत्व पर आधारित है।
  • 160 डीपीआई स्क्रीन में, 1 डीपी = 1 पिक्सेल।
  • पाठ फ़ॉन्ट आकार को छोड़कर dp का उपयोग करें।

मानक में, डीपी और एसपी का उपयोग किया जाता है। फ़ॉन्ट आकार के लिए सपा और बाकी सब के लिए डीपी।

इकाइयों के रूपांतरण के लिए सूत्र:

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  

प्रलेखन के अनुसार संकलक "डुबकी" और "डीपी" दोनों को स्वीकार करता है, हालांकि "डीपी" "एसपी" के अनुरूप है।
अरुणेंद्र

46

यहां Android द्वारा उपयोग किया गया सूत्र है:

px = dp * (डीपीआई / 160)

जहाँ dpi निम्न स्क्रीन घनत्वों में से एक है। सभी संभावित घनत्वों की सूची के लिए यहां जाएं

यह "DENSITY_ *" स्थिरांक को परिभाषित करता है।

  • ldpi (कम) ~ 120dpi
  • mdpi (माध्यम) ~ 160dpi
  • एचडीपीआई (उच्च) ~ 240 डीपीआई
  • xhdpi (अतिरिक्त-उच्च) ~ 320dpi
  • xxhdpi (अतिरिक्त-अतिरिक्त-उच्च) ~ 480dpi
  • xxxhdpi (अतिरिक्त-अतिरिक्त-अतिरिक्त-उच्च) ~ 640dpi

यहां से ले गए ।

अगर आप अपनी स्क्रीन डीपीआई को जानते हैं, तो यह px और dp के बीच अनुवाद करते समय बहुत सारे भ्रम को दूर करेगा।

तो, मान लें कि आप एचडीपीआई स्क्रीन के लिए 60 डीपी की छवि चाहते हैं तो 60 डीपी का भौतिक पिक्सेल आकार है:

px = 60 * (240 / 160)

45

स्क्रीन का आकार में Androidश्रेणियों में बांटा गया है small, medium, large, extra large, double-extraऔर triple-extra। स्क्रीन घनत्व स्क्रीन के एक क्षेत्र (जैसे इंच) के भीतर पिक्सल की मात्रा है। आम तौर पर इसे डॉट्स-प्रति-इंच (डीपीआई) में मापा जाता है। स्क्रीन घनत्व को निम्न, मध्यम, उच्च और अतिरिक्त उच्च के रूप में वर्गीकृत किया गया है। रिज़ॉल्यूशन स्क्रीन में पिक्सेल की कुल संख्या है।

  • dp: घनत्व स्वतंत्र पिक्सेल, यह स्क्रीन घनत्व के आधार पर भिन्न होता है। 160 डीपीआई स्क्रीन में, 1 डीपी = 1 पिक्सेल। फ़ॉन्ट आकार को छोड़कर, हमेशा dp का उपयोग करें।
  • डिप: डिप == डीपी। पहले के एंड्रॉइड वर्जन में डिप का उपयोग किया जाता था और बाद में डीपी में बदल जाता था।
  • sp: स्केल इंडिपेंडेंट पिक्सेल, यूजर के फॉन्ट साइज प्रेफरेंस के आधार पर स्केल किया गया। फ़ॉन्ट्स सपा का उपयोग करना चाहिए।
  • px: हमारी सामान्य मानक पिक्सेल जो स्क्रीन पिक्सेल के लिए मैप करती है।
  • में: भौतिक स्क्रीन आकार के संबंध में इंच।
  • मिमी: भौतिक स्क्रीन आकार के संबंध में मिलीमीटर।
  • पीटी: भौतिक स्क्रीन आकार के संबंध में, एक इंच का 1/72।

इकाइयों के बीच रूपांतरण के लिए सूत्र

 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 कैलकुलेटर का उपयोग कर सकते हैं।

जावा में 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/


45

कृपया समुदाय विकि से उत्तर पढ़ें। उपर्युक्त उत्तरों के अतिरिक्त कुछ जानकारी पर विचार किया जाना चाहिए। अधिकांश एंड्रॉइड डेवलपर्स ऐप विकसित करते समय इसे याद करते हैं, इसलिए मैं इन बिंदुओं को जोड़ रहा हूं।

एसपी = स्केल स्वतंत्र पिक्सेल

डीपी = घनत्व स्वतंत्र पिक्सल

डीपीआई = घनत्व पिक्सल

मैं उपरोक्त उत्तरों से गुजरा हूँ ... उन्हें बिल्कुल सही नहीं पाया। पाठ आकार के लिए, लेआउट सीमा के लिए डीपी - मानक। लेकिन पाठ आकार के लिए सपा लेआउट को तोड़ देगा यदि अधिकांश उपकरणों में लापरवाही बरती जाए

the डिवाइस का टेक्स्टइसेज़ लें, जबकि dp डिवाइस के घनत्व मानक (डिवाइस में कभी न बदले जाने वाले) को लें

यहां छवि विवरण दर्ज करें

आप लेआउट सीमा के लिए भी सपा का उपयोग कर सकते हैं, यह काम करेगा :) पूरे पाठ के लिए कोई मानक एप्लिकेशन उपयोग नहीं करता है

UX को ध्यान में रखते हुए टेक्स्ट आकार के लिए sp और dp का उपयोग करें।

  • टूलबार में पाठ के लिए डॉ का उपयोग न करें (dp के साथ विभिन्न स्क्रीन आकारों के लिए उपलब्ध एंड्रॉइड डिमेंस का उपयोग कर सकते हैं)
  • छोटे बाउंड बटन, बहुत छोटे पाठ, आदि में पाठ के लिए सपा का उपयोग न करें

कुछ लोग अधिक पठनीयता के लिए अपने फ़ोन में विशाल FONT आकार का उपयोग करते हैं, जिससे उन्हें छोटे हार्डकोड आकार का टेक्स्ट दिया जाता है जो UX समस्या होगी। जहां आवश्यक हो, पाठ के लिए सपा रखें, लेकिन यह सुनिश्चित करें कि उपयोगकर्ता द्वारा अपनी सेटिंग्स में बदलाव करने पर यह लेआउट को नहीं तोड़ेगा।

इसी तरह अगर आपके पास सभी आयामों का समर्थन करने वाला एक एकल ऐप है, तो xxxhdpi संपत्ति जोड़ने से ऐप का आकार बहुत बढ़ जाता है। लेकिन अब xxxhdpi फोन आम हैं, इसलिए हमें साइड बार, टूलबार और बॉटम बार में आइकन के लिए xxxhdpi संपत्तियों को कम से कम शामिल करना होगा। सभी स्क्रीन आकारों के लिए समान और बेहतर गुणवत्ता वाली छवियां रखने के लिए वेक्टर छवियों पर जाना बेहतर है।

यह भी ध्यान दें कि लोग अपने फोन में कस्टम फॉन्ट का इस्तेमाल करते हैं। तो एक फ़ॉन्ट की कमी से रिक्ति और सभी के बारे में समस्याएं हो सकती हैं। कस्टम फ़ॉन्ट के लिए टेक्स्ट का आकार 12sp कहें, डिफ़ॉल्ट फ़ॉन्ट की तुलना में कुछ पिक्सेल अतिरिक्त ले सकता है।

Android के लिए पेचकश और आधारभूत विवरण के लिए Google डेवलपर साइट देखें। https://developer.android.com/training/multiscreen/screendensities


43
  • px - एक पिक्सेल, जो सीएसएस, जावास्क्रिप्ट, आदि में उपयोग किया जाता है।
  • सपा पैमाने पर स्वतंत्र पिक्सेल
  • डुबकी - घनत्व-स्वतंत्र पिक्सेल

आम तौर पर सपा का उपयोग फ़ॉन्ट आकार के लिए किया जाता है, जबकि डिप का उपयोग किया जाता है (जिसे डीपी भी कहा जाता है)।


39

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

एंड्रॉइड में यूआई अवधारणा खराब नहीं है, लेकिन दुर्भाग्य से आईओएस स्टोरीबोर्ड सुविधाओं का अभाव है। एंड्रॉइड में लचीली यूआई डिजाइन करना आसान बात नहीं है (सबसे अच्छे रूप में)।

यहाँ वह लेख है जिसने मुझे यह समझने में मदद की कि विभिन्न स्क्रीन आकारों के लेआउट बनाने के लिए एंड्रॉइड में क्या करना है:

JMSTUDIO ब्लॉग: - Android ऐप स्क्रीन का आकार तय करें

अलग-अलग स्क्रीन साइज़ के लिए एंड्रॉइड ऐप्स के लिए यूआई कैसे डिज़ाइन करें

विभिन्न स्क्रीन आकारों के लिए एक ऐप यूआई डिज़ाइन करने के लिए, हमारे प्रारंभिक डिज़ाइन को प्रत्येक स्क्रीन आकार के लिए न्यूनतम आवश्यक स्थान को पूरा करना होगा। एंड्रॉइड प्रत्येक सामान्यीकृत स्क्रीन प्रकार के लिए एक न्यूनतम आकार (डीपी में) को परिभाषित करता है। यहाँ एक Android स्क्रीन आकार दिशानिर्देश है। Dp में Android के लिए न्यूनतम स्क्रीन आकार जब हमें dp में स्क्रीन का आकार मिलता है, तो हमारे लिए एंड्रॉइड ऐप UI डिजाइन करना पर्याप्त नहीं है। प्रत्येक स्क्रीन आकार के लिए, हमें प्रत्येक घनत्व के लिए ग्राफिक्स और बिटमैप चित्र तैयार करने की आवश्यकता है। यहाँ एक Android स्क्रीन घनत्व दिशानिर्देश है। 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 बनाएँ


32

1) dp: (density independent pixels)

स्क्रीन रिज़ॉल्यूशन के बढ़ने पर (जब आपके पास अधिक डॉट्स / पिक्सेल प्रति इंच होगा), तो dp की एक इकाई में प्रदर्शित पिक्सेल की संख्या बढ़ जाएगी। कम रिज़ॉल्यूशन वाले उपकरणों पर इसके विपरीत, dp की इकाई पर प्रतिनिधित्व पिक्सेल की संख्या घट जाएगी। चूंकि यह एक सापेक्ष इकाई है, इसलिए इसकी तुलना करने के लिए आधार रेखा का होना आवश्यक है। यह बेसलाइन 160 डीपीआई स्क्रीन है। यह समीकरण है:px = dp * (dpi / 160).


2) sp: (scale independent pixels)

यह इकाई स्क्रीन डीपीआई (डीपी के समान) के साथ-साथ उपयोगकर्ता के फ़ॉन्ट आकार वरीयता के अनुसार तराजू है।


3) px: (pixels)

स्क्रीन पर वास्तविक पिक्सेल या डॉट्स।


अधिक जानकारी के लिए आप यहां जा सकते हैं

Android डेवलपर गाइड> आयाम
Android डेवलपर गाइड> स्क्रीन


29

स्क्रीन का आकार एंड्रॉयड में श्रेणियों में बांटा गया है 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के स्थान पर उपयोग करने के लिए अत्यधिक अनुशंसित है pxdpयदि आप स्क्रीन के आकार के आधार पर गतिशील रूप से बढ़ने और सिकुड़ने के लिए चौड़ाई और ऊंचाई का उल्लेख करना चाहते हैं तो इसका उपयोग करें ।

  • यदि हम देते हैं dp/dip, तो एंड्रॉइड 160 पिक्सेल आकार स्क्रीन के आधार पर स्वचालित रूप से पिक्सेल आकार की गणना करेगा।

SP(Scale independent pixels):

  • उपयोगकर्ता के फ़ॉन्ट आकार वरीयता के आधार पर बढ़ाया गया। फ़ॉन्ट्स का उपयोग करना चाहिए sp

  • विभिन्न स्क्रीन आकारों के लिए फिट होने के लिए फ़ॉन्ट आकारों का उल्लेख करते समय, उपयोग करें sp। इस के समान है dp.Use spगतिशील स्क्रीन आकार के आधार पर फ़ॉन्ट आकार बढ़ने और छोटा करने के लिए विशेष रूप से के लिए

Android प्रलेखन कहता है:

आयाम निर्दिष्ट करते समय, हमेशा dpया तो spइकाइयों का उपयोग करें । A dpएक घनत्व-रहित पिक्सेल है जो 160 में पिक्सेल के भौतिक आकार से मेल खाता है dpi। एक spही आधार इकाई है, लेकिन उपयोगकर्ता के पसंदीदा पाठ आकार (यह एक पैमाना-स्वतंत्र पिक्सेल) द्वारा बढ़ाया जाता है, इसलिए आपको पाठ आकार को परिभाषित करते समय इस माप इकाई का उपयोग करना चाहिए


21

मोबाइल फोन की स्क्रीन हजारों छोटे डॉट्स से मिलकर बनी होती है जिन्हें पिक्सल (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 का उपयोग करते हैं, तो पाठ के उस टुकड़े का एक विशिष्ट भौतिक आकार होता है, भले ही उपयोगकर्ता ने डिवाइस के फ़ॉन्ट आकार को अनुकूलित किया हो। एसपी इकाइयों का उपयोग बिगड़ा हुआ दृष्टि वाले लोगों के लिए एक बेहतर अनुभव होगा।

संदर्भ : उडासिटी , गूगल


19

एसपी: स्केल स्वतंत्र पिक्सेल

आपको इसका उपयोग ग्रंथों के साथ करना चाहिए क्योंकि यह अपने डिवाइस में उपयोगकर्ता द्वारा उपयोग किए जा रहे फ़ॉन्ट आकार के अनुसार स्वचालित रूप से स्केल किया जाता है।

px: पिक्सेल या पिक्चर एलिमेंट स्क्रीन पर सिंगल पॉइंट है


19

पिक्सल घनत्व

प्लेटफ़ॉर्म के आधार पर स्क्रीन पिक्सेल घनत्व और रिज़ॉल्यूशन भिन्न होता है। डिवाइस-स्वतंत्र पिक्सेल और स्केलेबल पिक्सेल इकाइयाँ हैं जो प्लेटफ़ॉर्म पर डिज़ाइन को समायोजित करने के लिए एक लचीला तरीका प्रदान करती हैं।

पिक्सेल घनत्व की गणना

एक इंच में फिट होने वाले पिक्सेल की संख्या को पिक्सेल घनत्व के रूप में जाना जाता है। उच्च घनत्व स्क्रीन में कम घनत्व वाले लोगों की तुलना में प्रति इंच अधिक पिक्सेल होते हैं ...।

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

स्क्रीन घनत्व की गणना करने के लिए, आप इस समीकरण का उपयोग कर सकते हैं:

स्क्रीन घनत्व = स्क्रीन की चौड़ाई (या ऊंचाई) पिक्सल / स्क्रीन चौड़ाई (या ऊंचाई) इंच में

कम घनत्व प्रदर्शित करता है

घनत्व स्वतंत्रता

प्लेटफ़ॉर्म के आधार पर स्क्रीन पिक्सेल घनत्व और रिज़ॉल्यूशन भिन्न होता है। डिवाइस-स्वतंत्र पिक्सेल और स्केलेबल पिक्सेल इकाइयाँ हैं जो प्लेटफ़ॉर्म पर डिज़ाइन को समायोजित करने के लिए एक लचीला तरीका प्रदान करती हैं।

पिक्सेल घनत्व की गणना एक इंच में फिट होने वाले पिक्सेल की संख्या को पिक्सेल घनत्व के रूप में जाना जाता है । उच्च घनत्व स्क्रीन में कम घनत्व वाले लोगों की तुलना में प्रति इंच अधिक पिक्सेल होते हैं ...।

घनत्व स्वतंत्रता विभिन्न घनत्व वाले स्क्रीन पर यूआई तत्वों के समान प्रदर्शन को संदर्भित करता है।

घनत्व-स्वतंत्र पिक्सेल , जिसे dp (उच्चारण " dips ") के रूप में लिखा जाता है , लचीली इकाइयाँ हैं जो किसी भी स्क्रीन पर समान आयाम रखती हैं। सामग्री यूआई विभिन्न घनत्व वाले स्क्रीन पर लगातार तत्वों को प्रदर्शित करने के लिए घनत्व-स्वतंत्र पिक्सेल का उपयोग करते हैं।

  1. कम घनत्व वाली स्क्रीन घनत्व स्वतंत्रता के साथ प्रदर्शित होती है
  2. घनत्व-स्वतंत्रता के साथ प्रदर्शित उच्च-घनत्व स्क्रीन

पूरा पाठ पढ़ें https://material.io/design/layout/pixel-density.html


16

पिक्सेल (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/


15

मैं समझने का एक आसान तरीका प्रदान करना चाहता हूं 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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.