2011-06-16 11 views
13

के बीच अंतर बताएं मुझे इस बात का कोई अंदाजा नहीं है कि इनमें से प्रत्येक निर्देशिका क्या है, लेकिन मैं अवधारणा पर वास्तव में स्पष्ट नहीं हूं और मेरे पास कुछ विशिष्ट प्रश्न हैं ।ड्रॉबल, ड्रॉरेबल-एलडीपीआई, ड्रॉएबल-एमडीपीआई और ड्रायबल-एचडीपीआई

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

धन्यवाद।

+0

मैं डॉक्स के लिए एक लिंक की तुलना में अधिक कुछ के लिए आशा करती हूं कि किसी और के सिर में दर्द :) बचाने की कोशिश। मैंने screen_support दस्तावेज़ों को पढ़/स्किम किया है, लेकिन मेरे पास अभी भी विशिष्ट प्रश्न हैं। –

उत्तर

35

के रूप में दूसरों को सुझाव दिया है, एंड्रॉयड ऑनलाइन प्रलेखन इस पर महान लेख है। हालांकि, मैं कुछ जल्दी और उपयोगी सुझाव कोशिश करते हैं और सूची यहाँ जा रहा हूँ:

  1. पर विचार करें MDPI 1 है। फिर, एलडीपीआई 0.75 है और एचडीपीआई 1.5 है। इसका मतलब यह है कि यदि आपके पास एक ड्रायबल है, तो कहें, 50x50 एक एमडीपीआई स्क्रीन पर, इसे एक एलडीपीआई स्क्रीन पर ~37x37 और एचडीपीआई स्क्रीन पर 75x75 होना चाहिए, लगभग उसी भौतिक आकार पर प्रदर्शित होने के लिए प्रत्येक स्क्रीन (यानी 2 सेमी अगर आप स्क्रीन पर शासक डालते हैं)। साथ ही, आपकी कंप्यूटर स्क्रीन अधिकतर एमडीपीआई है, यही कारण है कि एमडीपीआई ड्रॉबल्स के साथ शुरू करने की सिफारिश की जाती है और फिर उनका आकार बदलता है: ड्रायबल के भौतिक आकार आपके कंप्यूटर स्क्रीन और एमडीपीआई एंड्रॉइड डिवाइस के बीच बहुत करीब होगा। यदि आप अपने कंप्यूटर पर और एचडीपीआई डिवाइस पर एक एचडीपीआई खींचने योग्य देखते हैं तो आप देखेंगे कि यह अधिक बड़ा (फिर से, शारीरिक रूप से - पीसी स्क्रीन पर शासक डालें)।
  2. यदि आप प्रत्येक घनत्व के लिए विशेष ड्रॉबल्स की आपूर्ति नहीं करते हैं, तो एंड्रॉइड स्वचालित रूप से उपलब्ध निकटतम को स्केल करेगा।
  3. आप एक उपकरण के डीपीआई नहीं मानना ​​चाहिए स्क्रीन आकार और/या पिक्सेल की संख्या और/या संकल्प और/या पहलू अनुपात के साथ कोई लेना देना है। एक डिवाइस बहुत छोटा हो सकता है और एक एचडीपीआई स्क्रीन या बहुत बड़ी हो सकती है और एलडीपीआई स्क्रीन हो सकती है। इस घनत्व-भेदभाव के पूरे मुद्दे बातें सभी उपकरणों पर एक ही आकार देखो, नहीं सभी उपकरणों पर एक ही फिट है। उदाहरण के लिए, एक drawable एक MDPI डिवाइस पर पूरे स्क्रीन भरता है अगर यह एक और MDPI डिवाइस पर भी ऐसा ही करने की उम्मीद नहीं है। साथ ही, विभिन्न डीपीआई उपकरणों पर "एक ही चीज़ को देखने" की अपेक्षा न करें। अधिकांश HDPI उपकरणों वास्तव में कम डीपीआई उपकरणों की तुलना में अधिक जगह है। उदाहरण के लिए, एक ListView एक MDPI डिवाइस पर 5 आइटम दिखा सकते हैं अगर यह, एक HDPI डिवाइस पर 6 आइटम दिखाने के लिए सक्षम हो सकता है तथ्य यह है कि ListView आइटम एक ही घनत्व स्वतंत्र (यानी 1.5 गुना से HDPI पर बड़ा है के बावजूद एमडीपीआई पर) ऊंचाई।

शायद मैं थोड़ा ऑफटॉप हो गया हो, लेकिन ये चीजें हैं जो मैंने समय के साथ अपने सिर को टक्कर मारकर सीखा है। बस

+3

इससे थोड़ा सा मदद मिल सकती है: http://blog.blundell-apps.com/list-of-android-devices-with-pixel-density-buckets/ – Blundell

+0

स्पष्ट स्पष्टीकरण के लिए @ फ़ेलिक्स धन्यवाद। मैंने कई अन्य पोस्ट पढ़ी हैं लेकिन समझ में नहीं आ रही! यह अब मेरे लिए वास्तव में स्पष्ट है! –

+0

अपने पहले बिंदु पर जोड़ने के लिए, एक्सएचडीपीआई '2' है और एक्सएक्सएचडीपीआई' 3' है। तो एक एमडीपीआई स्क्रीन पर '50x50' एक ड्रायबल के उदाहरण के साथ, इसे XHDPI स्क्रीन पर' 100x100' और XXHDPI स्क्रीन पर '150x150' होना होगा। – Nick

1

प्रत्येक फ़ोल्डर के लिए कोई सटीक डीपीआई मान नहीं होता। प्रत्येक फ़ोल्डर कुछ सीमा से संबंधित है। यहां देखें: http://developer.android.com/guide/practices/screens_support.html

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

1

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

आकार सटीक नहीं है लेकिन 130 डीपीआई तक इसे 130 से 180 तक छोटा माना जाता है, इसे 180 से 200 तक एमडीपीआई माना जा सकता है, इसे एचडीपीआई के रूप में माना जा सकता है और उच्च को एक्सडीपीआई के रूप में वर्गीकृत किया जा सकता है।

http://developer.android.com/guide/practices/screens_support.html

संबंधित मुद्दे