2013-02-07 45 views
5

पर स्केल की गई है, मैं एक नौ पैच छवि का उपयोग कर चयनकर्ता के आइटम तत्व के लिए ड्रायबल के रूप में कर रहा हूं। नौ पैच छवि यहाँ है:9 पैच छवि गलत स्थिति

9 patch image

छवि है कि अंत में गाया जाता है (एमुलेटर & डिवाइस स्क्रीनशॉट, दोनों डिवाइस है, संकल्प> mdpi):

resulting rendered image

आप के रूप में देख सकते हैं, इसे खिंचाव वाले क्षेत्र के बाहर बढ़ाया गया है (जैसा कि 9 पैच फ़ाइल में परिभाषित किया गया है), गहरा हरा बार जितना मोटा होना चाहिए उतना मोटा होना चाहिए। वह क्यों है और इसे टाला जा सकता है? Draw9patch टूल इस छवि को सही ढंग से स्केल करता है। क्या इसे एंड्रॉइड के साथ उच्च रिज़ॉल्यूशन डिवाइस पर भौतिक आयामों को संरक्षित करने की कोशिश करनी है?

+0

हमें कोड जहाँ आप छवि आकर्षित देखते हैं। – Caerulius

उत्तर

6

क्या आप केवल छवि का एक एमडीपीआई संस्करण प्रदान करते हैं?

एंड्रॉइड सभी छवियों को स्केल करता है जो सही पिक्सेल घनत्व में उपलब्ध नहीं हैं। छवि को 9 पैच के माध्यम से स्केल करने से पहले ऐसा होता है।

इसका मतलब यह होगा कि आपकी छवि को एचडीपीआई फिट करने के लिए बढ़ाया जाता है और फिर सामग्री को फिट करने के लिए स्केल किया जाता है।

इसे ठीक करने के लिए, आपको अपनी छवि के hdpi और xhdpi संस्करण प्रदान करना होगा। 9 पैच को विभिन्न पिक्सेल घनत्व और अलग-अलग सामग्री/स्क्रीन आकारों को लक्षित नहीं करना चाहिए।

enter image description here

क्यों आप अपने इस्तेमाल नहीं किया सीमा सफेद रंग की थी:

+0

केवल एक संस्करण है (खींचने योग्य फ़ोल्डर में डाल दिया गया है)। तो ऐसा लगता है कि आपके द्वारा उल्लिखित प्रक्रिया में मुझे बताई गई समस्या बताती है। बहुत बुरा, हालांकि मैं उन सभी भौतिक संकल्पों के लिए छवियों को बनाने से बच सकता हूं ... – user462982

3

मैं अपने 9 पैच की जाँच की? यह पारदर्शी होना चाहिए। इस यह एक 9Patch के रूप में मान्यता प्राप्त नहीं है कारण:

enter image description here

+0

सफेद सीमाएं मेरी व्यक्तिगत सर्वोत्तम प्रथा हैं क्योंकि इससे पता चलता है कि बाहरी सीमाओं पर लगभग पारदर्शी पिक्सल रहते हैं। अब तक, मुझे इसके साथ कभी समस्या नहीं थी। और मैंने इसे दोबारा जांच लिया: लाल पट्टियां (जो भी उनका मतलब है) पूरी तरह से पारदर्शी सीमाओं के साथ भी होती है। – user462982

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

  • कोई संबंधित समस्या नहीं^_^