2010-12-01 13 views
12

सभी एंड्रॉइड दस्तावेज़ "ड्रॉइंग" निर्देशिका का उल्लेख करते हैं। हालांकि, जब मैं ग्रहण में एक एंड्रॉइड प्रोजेक्ट बनाता हूं, तो यह "/ res/drawable" निर्देशिका नहीं बनाता है, लेकिन यह "/ res/drawable-ldpi" और "/ res/drawable-mdpi" बनाता है। मुझे लगता है कि उनके पास पिक्सेल रिज़ॉल्यूशन के साथ कुछ करना है, लेकिन वास्तव में यहां क्या चल रहा है? जब मैंने ट्यूटोरियल्स के माध्यम से कदम उठाया है, तो मैंने मैन्युअल रूप से "ड्रॉइंग" निर्देशिका बनाई है और मेरे संसाधनों को वहां रखा है, लेकिन क्या मुझे इसकी आवश्यकता है? "/ Res/drawable /" काम के संदर्भ में केवल "drawable- {l | m} dpi" मौजूद हैं?drawable बनाम drawable-ldpi/drawable-mdpi

उत्तर

2

मुझे लगता है कि आपने एंड्रॉइड प्रोजेक्ट को कैसे बनाया है इसके साथ कुछ करने के लिए कुछ है। आम तौर पर मेरा एक hdpi, mdpi, और ldpi फ़ोल्डर बनाता है। असल में, "खींचने योग्य" डिफ़ॉल्ट है। यदि आपके पास एचडीपीआई फ़ोल्डर में आपके सभी संसाधन हैं, और इसे एलडीपीआई डिवाइस पर चलाने का प्रयास करें, तो मेरा मानना ​​है कि आपको किसी प्रकार का अपवाद मिलेगा (मैंने इसका परीक्षण नहीं किया है, लेकिन मुझे लगता है कि यह मामला है)। डिफ़ॉल्ट संसाधनों के बिना क्या होता है इसका विस्तृत विवरण here समझाया गया है।

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

+2

एंड्रॉइड एक एलडीपीआई डिवाइस पर एचडीपीआई फ़ोल्डर से संसाधनों को स्केल करेगा यदि किसी एप्लिकेशन में केवल यह ड्रॉ करने योग्य फ़ोल्डर है। – Michael

+0

@ पिक्सी: तो ऐसा लगता है! मुझे पहले इस पर अधिक शोध करना चाहिए था। यह लिंक: http://developer.android.com/guide/topics/resources/providing-resources.html# अनुकूलता विवरण बिल्कुल यह कैसे काम करता है। मैं अभी भी मुख्य फ़ोल्डर में कुछ डिफ़ॉल्ट ड्रॉबल्स सुरक्षित रखूंगा, लेकिन यह जानना अच्छा है, धन्यवाद! – kcoppock

+0

@ माइकल, यह गलत है http://stackoverflow.com/questions/24067728/does-android-override-resources-files-in-ascending-or-descending-order –

0

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

आप इसके बारे में here पढ़ सकते हैं।

3

हां, आपको एक्लिप्स में डिफ़ॉल्ट/res/drawable निर्देशिका बनाने की आवश्यकता है।

यदि आप -hdpi/-mdpi/-ldpi फ़ोल्डर्स का उपयोग करना चाहते हैं, तो आपको उन्हें संदर्भित करने के लिए अलग-अलग XML लेआउट बनाना होगा।

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

1

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

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

वर्तमान में मैंने अपने सभी ग्राफिक्स को ड्रैडेबल-एचडीपीआई फ़ोल्डर में रखा है, जो कि xhdpi, xxhdpi, और xxxhdpi फ़ोल्डरों में उच्च संकल्पों के लिए लॉन्चर आइकन की प्रतियों को छोड़कर है। मैं mdpi और ldpi फ़ोल्डरों में कुछ भी नहीं डालता, और वास्तव में ऐप को साफ रखने के लिए उन फ़ोल्डरों को हटा दिया है। मैं ड्रॉ करने योग्य-एचडीपीआई को सिर्फ खींचने के लिए भी बदल सकता था, लेकिन डिफ़ॉल्ट नाम रखा है क्योंकि यह इस मामले में डिफ़ॉल्ट फ़ोल्डर के रूप में कार्य करता है।

1

In this answer, @RomainGuy ने उल्लेख किया है कि आपको अपने संबंधित फ़ोल्डरों (एमडीपीआई, एक्सएचडीपीआई), और अन्य स्रोतों जैसे .xml फ़ाइलों को अपने drawable फ़ोल्डर में ड्रॉबल्स के लिए उचित छवियां रखना चाहिए।

उदाहरण के लिए,
यदि आप एक एचडीपीआई डिवाइस का उपयोग करेंगे, जबकि आपने hdpi फ़ोल्डर में कोई छवि नहीं डाली है, तो यह क्रैश नहीं होगा; इसके बजाय यह अपने अगले सर्वश्रेष्ठ फिट फ़ोल्डर (यानी mdpi) से छवि का आकार बदल देगा और छवि का विस्तार करेगा।

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