2012-07-20 29 views
8

संदर्भ के लिए: http://developer.android.com/guide/practices/screens_support.htmlxlarge बनाम sw720dp स्क्रीन आकार भ्रम

पुरानी शैली आकार परिमाणकों "पदावनत" कर रहे हैं:

चार सामान्यीकृत आकार का एक सेट:, छोटे सामान्य, बड़े, और xlarge नोट : एंड्रॉइड 3.2 (एपीआई लेवल 13) के साथ शुरुआत, ये आकार समूह उपलब्ध स्क्रीन चौड़ाई पर आधारित स्क्रीन आकारों के प्रबंधन के लिए एक नई तकनीक के पक्ष में बहिष्कृत हैं। यदि आप एंड्रॉइड 3.2 और इससे अधिक के लिए विकसित कर रहे हैं, तो जानकारी के लिए एंड्रॉइड 3.2 के लिए टैबलेट लेआउट घोषित करना देखें।

मुझे उम्मीद थी कि 3.2+ के साथ उपकरणों अभी भी संसाधनों drawable-बड़े mdpi, या लेआउट-xlarge में घोषित प्रयोग करेंगे, लेकिन इस मामले होने के लिए प्रतीत नहीं होता।

  • लेआउट-sw600dp
  • लेआउट-720dp
  • लेआउट-xlarge
  • लेआउट
:

मैं एक परीक्षण परियोजना है कि इन आकारों में से प्रत्येक के लिए एक लेआउट फ़ाइल है

10 "मोटोरोला एक्सओओएम एंड्रॉइड 4.0.x चला रहा है, डिवाइस लेआउट-720 डीपी फ़ोल्डर में लेआउट चुनता है। अगर वह फ़ोल्डर मौजूद नहीं है, तो यह चुनता है लेआउट-sw600dp फ़ोल्डर में लेआउट! लेआउट-एक्सलार्ज में लेआउट क्यों नहीं लेता है?

इससे भी अधिक अजीब है, मैं इन फ़ोल्डर में ड्रॉएबल है है:

  • drawable-sw600dp-mdpi
  • drawable-xlarge-mdpi
ऊपर से

10 "Motorola XOOM, drawable-sw600dp-mdpi से छवि को चुनता है। ड्रॉबल-xlarge-mdpi में खींचने योग्य क्यों नहीं है?

क्या हमें xlarge क्वांटिफ़ायर को एंड्रॉइड 3.2 के ऊपर काम करने की उम्मीद नहीं करनी चाहिए?

क्या इसका मतलब है कि मुझे drawable-x7arge-mdpi फ़ोल्डर में सभी संपत्तियों को डुप्लिकेट करना होगा, drawable-sw720dp-mdpi फ़ोल्डर में? (एंड्रॉइड 3.0, 3.1 और 3.2+ का समर्थन करने के लिए?)

उम्मीद है कि मैं यहां कुछ सरल याद कर रहा हूं। कृपया सलाह दें।

+0

मुझे एक ही समस्या है। मैं वर्तमान में sw600dp फ़ोल्डरों का उपयोग कर नेक्सस 7 के लिए कुछ लेआउट बदल रहा हूं। इस फ़ोल्डर को बनाने के बाद सभी टैबलेट sw600dp का उपयोग करें। – bencallis

उत्तर

6

मेरी समझ से, एंड्रॉइड 3.2+ के लिए, यदि आपके पास कम से कम एक फ़ोल्डर है जो नए आकार क्वांटिफायर का उपयोग करता है तो यह मानता है कि आप हर जगह इन नए आकार क्वांटिफायर का उपयोग कर रहे हैं। इसलिए यही कारण है कि यह लेआउट-एक्सलार्ज या पुराने क्वांटिफ़ायर का उपयोग करने वाले किसी भी अन्य फ़ोल्डर को अनदेखा करता है।

पिछड़े संगतता के संबंध में, आपको अपने प्रोजेक्ट में दोनों प्रकार के क्वांटिफायरों का उपयोग करना होगा। पुराने लोगों का उपयोग API < 3.2 और API> = 3.2 के लिए नए के लिए किया जाएगा। डुप्लिकेशंस से बचने के लिए, लेआउट के लिए आप उपनाम का उपयोग कर सकते हैं। हालांकि, drawables के लिए, मैं नकल से बचने के लिए किसी भी समाधान के बारे में नहीं जानता।

+0

एक्सएमएल एलियास को लेआउट के समान ड्रॉबल्स के लिए इस्तेमाल किया जा सकता है – cjayem13

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