, तो एक लेआउट xml फ़ाइल में, मैं आकार उदाहरण 12dip के लिए, होने के लिए निर्धारित किया है। क्या वह एमडीपीआई में हमेशा 12 पीएक्स होगा और एचडीपीआई में 18 पीएक्स होगा?संबंध
तो डुबकी हमेशा mdpi के लिए सच है और अन्य घनत्व के लिए तदनुसार पैमाने पर होगा?
, तो एक लेआउट xml फ़ाइल में, मैं आकार उदाहरण 12dip के लिए, होने के लिए निर्धारित किया है। क्या वह एमडीपीआई में हमेशा 12 पीएक्स होगा और एचडीपीआई में 18 पीएक्स होगा?संबंध
तो डुबकी हमेशा mdpi के लिए सच है और अन्य घनत्व के लिए तदनुसार पैमाने पर होगा?
यही सवाल पूरी तरह से official documentation से आच्छादित है। डुबकी, पीएक्स और डीपीआई के बीच संबंध this सेक्शन में शामिल हैं।
उद्धरण:
घनत्व स्वतंत्र पिक्सेल (डीपी)
एक आभासी पिक्सेल इकाई है कि आवेदन पत्र उनके यूआई को परिभाषित करने में उपयोग कर सकते हैं, एक घनत्व के मामले में स्वतंत्र तरीके से लेआउट आयाम या स्थिति को व्यक्त करने के ।
घनत्व स्वतंत्र पिक्सेल एक 160 डीपीआई स्क्रीन पर एक शारीरिक पिक्सेल, आधारभूत घनत्व मंच (इस दस्तावेज़ में बाद में वर्णित के रूप में) द्वारा ग्रहण के बराबर है। रन समय, मंच पारदर्शी रूप से जरूरत डीपी इकाइयों के किसी भी स्केलिंग, प्रयोग में स्क्रीन के वास्तविक घनत्व पर आधारित संभालती है। डीपी इकाइयों का रूपांतरण स्क्रीन पिक्सल का रूपांतरण सरल है: पिक्सल = डीपीएस * (घनत्व/160)। उदाहरण के लिए, 240 डीपीआई स्क्रीन पर, 1 डीपी 1.5 भौतिक पिक्सेल के बराबर होगा। को डी पी इकाइयों का उपयोग कर विभिन्न स्क्रीन पर अपने यूआई के उचित प्रदर्शन को सुनिश्चित करने का एक तरीका के रूप में अपने आवेदन के यूआई अत्यधिक की सिफारिश की है परिभाषित करते हैं,।
तो बयान:
कि हमेशा hdpi
में mdpi में 12px और इतने 18px जा डॉक्स के अनुसार, सही हो रहा है।
12dp घनत्व 160 डीपीआई के साथ एक डिवाइस पर 12px कर दिया जाएगा। दस्तावेज़ यह नहीं कहते कि सभी mdpi
उपकरणों में बिल्कुल 160 डीपीआई है, ऐसा लगता है कि आपको mdpi
अन्य घनत्व वाले डिवाइस (जैसे 150 या 180 डीपीआई) मिल सकते हैं। उन मामलों में, संबंध 1dp = 1px
सत्य नहीं होगा।
आप केवल इस संबंध के बारे में सुनिश्चित किया जा सकता है:,
px = dp * (dpi/160)
तो एक युक्ति 320 डीपीआई के एक घनत्व तो प्रत्येक डी पी 2 पिक्सल से मेल खाती है क्योंकि 320/160 2. है मैं कहूँगा कि है 2 "घनत्व कारक", लेकिन यह भी आपको getResources().getDisplayMetrics().density
के साथ मिलता है, इसलिए इसे "घनत्व" भी कहा जाता है।
जो मैं समझता हूं, 12px केवल 720pip होने पर mdpi में 12px होगा। एमडीपीआई मध्यम संकल्प उपकरणों की एक विस्तृत श्रृंखला है। – CodyBugstein