2011-12-17 18 views
5

मैं इस आकार के साथ एक आकार drawable के लिए कोशिश कर रहा हूँ आकार drawable मतभेद एंड्रॉयड 2.3.5 को संभालने के लिए:सबसे अच्छा तरीका बनाम 4.0

enter image description here

यह 2.3.5 1.6 में ठीक से काम करता है जब का उपयोग कर निम्नलिखित:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle"> 
<solid android:color="#cc6900"/> 

<corners android:radius="0.1dp" android:bottomRightRadius="7dp" android:bottomLeftRadius="0dp" 
android:topLeftRadius="0dp" android:topRightRadius="7dp"/> 

हालांकि, जब यह एक Galaxy Nexus, या एक 4.0 एम्युलेटर पर चल रहा है, मैं इस का उपयोग करने के लिए एक ही लेआउट पाने के लिए:

... 
<corners android:radius="0.1dp" android:bottomRightRadius="0dp" android:bottomLeftRadius="7dp" 
android:topLeftRadius="0dp" android:topRightRadius="7dp"/> 
... 

कौन मुझे इस 1.6 पर देता है:

enter image description here

तो बुनियादी तौर पर, पिछले संस्करणों सभी का इस्तेमाल किया गया bottomRight और bottomLeft एक तरह से, और अब 4.0 यह किसी अन्य रूप में करता है।

क्या कोई आसान तरीका है कि मैं इसे पूर्व 4.0 के लिए कर सकता हूं, और 4.0 उपयोगकर्ताओं को बदले गए मान देता हूं? यदि संभव हो, तो मैं चाहूंगा कि मैं इसे एक्सएमएल में रख सकूं और इसे कोड में न रख सकूं।

उत्तर

12

एचएम, ऐसा लगता है कि जब हमने इसे ठीक किया तो हमने बग संगतता तोड़ दी। ;)

चूंकि आप इसे एक्सएमएल ड्रायबल में परिभाषित कर रहे हैं, तो उस संस्करण को शामिल करें जो आपके res/drawable/ निर्देशिका में एंड्रॉइड 4.0 से पहले काम करता है और जो res/drawable-v14/ नामक दूसरी निर्देशिका में एंड्रॉइड 4.0+ पर काम करता है। (14 एंड्रॉइड 4.0 का एपीआई स्तर है।) एंड्रॉइड 4.0 और नए चलाने वाले डिवाइस नए संस्करण का उपयोग करेंगे।

आप सिस्टम अलग विन्यास विकल्पों में से एक गुच्छा के लिए सही संसाधन ऑटो का चयन करें, अधिक जानकारी के लिए देखें तो यह उसी तकनीक का उपयोग कर सकते हैं: http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources

+0

शानदार, समस्या का समाधान होता! –

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