2012-10-10 14 views
5

मैंने एक एंड्रॉइड एप्लिकेशन बनाया है जो नेक्सस 7 के लिए ठीक से काम करता है। संसाधन फ़ोल्डर के अंदर, मैंने नेक्सस 7 "टैब के लिए दो फ़ोल्डर्स, layout, layout-land बनाया है। सबकुछ आज तक ठीक काम कर रहा था। अब मैं एक अलग लेआउट बनाना चाहता हूं सैमसंग गैलेक्सी एस 3 के लिए। इसके लिए, मैंने layout-large & layout-large-land के साथ संसाधनों के अंदर एक फ़ोल्डर्स बनाए हैं। लेकिन, यह समस्या है। अब, नेक्सस 7 के लिए, layout-large फ़ोल्डर में परिभाषित लेआउट लोड हो रहा है। इसे कैसे रोकें? क्या मैं Nexus 7 "टैब & गैलेक्सी एस 3 मोबाइल के लिए अलग-अलग लेआउट बना सकता हूं? मैंने Supporting Multiple Screens दस्तावेज पढ़ा है। लेकिन मैं नहीं समझ सकता है के रूप में नेक्सस 7 के लिए स्क्रीन आकार 1204 एक्स 800 सैमसंग गैलेक्सी एस 3 के लिए & स्क्रीन आकार है 720 एक्स 1280गैलेक्सी एस 3 और नेक्सस 7 के लिए अलग-अलग लेआउट कैसे बनाएं?

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

+1

हां यह एंड्रॉइड का मुख्य नुकसान है। बहुत सारे विक्रेता अपने आकार कर रहे हैं। आप http://stackoverflow.com/questions/11584107/how-to-deal-with-android-xlarge- स्क्रीन या http://stackoverflow.com/ पर एकाधिक स्क्रीन के बारे में अपने पिछले समान प्रश्नों पर एक नज़र डालना चाहेंगे प्रश्न/1100819 9/क्या-लेआउट-उपयुक्त-720x1280-एंड्रॉइड-डिवाइस या http://stackoverflow.com/questions/10992764/how-android-manages- स्क्रीन – rxlky

उत्तर

10

से लेआउट चुनने अनुसार करने के लिए Supporting Multiple Screensenter image description here

क्वालीफायर जैसे small, normal, large और xlargeScreen Sizes के लिए है, जिसका अर्थ है कि Nexus 7 large क्वालीफायर के साथ संसाधनों का उपयोग करेगा, यदि आप प्रदान करते हैं। इसलिए large क्वालीफायर के साथ फ़ोल्डर बनाने से पहले, Nexus 7 डिफ़ॉल्ट लेआउट फ़ोल्डर से संसाधन लोड करेगा। ldpi, mdpi, hdpi और xhdpi स्क्रीन घनत्व के लिए है।

अपनी समस्या को हल करने के लिए, आप की जरूरत:

  1. लेआउट में Galaxy S3 के लिए डाल लेआउट परिभाषाएँ, और Nexus 7 के लिए लेआउट-sw600dp कृपया करने के लिए Android डेवलपर ब्लॉग देखें: Getting Your App Ready for Jelly Bean and Nexus 7

  2. गैलेक्सी एस 3 के लिए पोर्टेबल-एक्सएचडीपीआई, और नेक्सस 7 के लिए ड्रायबल-टीवीडीपीआई या ड्रायबल-एचडीपीआई में संसाधन (छवियों या ड्राइटेबल सामान) डालें।

आशा है कि यह आपकी मदद कर सकता है, और मुझे पता है अगर आप किसी भी अन्य समस्याओं :)

कुछ उपयोगी संदर्भ हो यहाँ तो कृपया:

What layout is suitable for 720x1280 Android devices?

Screen Width Qualifier

+0

दोनों के लिए लोड किया जा रहा है, 'लेआउट' में एस 3 के लिए अपना लेआउट परिभाषा डालने के बाद भी, 'लेआउट-बड़े' लोड हो रहा है – Bharath

+0

फिर कृपया 'लेआउट' में एस 3 के लिए परिभाषाएं डालने का प्रयास करें। , और [एंड्रॉइड डेवलपर्स ब्लॉग] के अनुसार नेक्सस के लिए 'लेआउट-sw600dp' में डाल दिया (http://android-developers.blogspot.co.uk/2012/07/getting-your-app-ready-for-jelly- bean.html)। इस बीच मैंने इस टिप्पणी को शामिल करने के लिए अपना उत्तर भी अपडेट किया। – dumbfingers

+0

नहीं ठीक है। जब मैंने आपकी पिछली टिप्पणी लागू की है तो यह ठीक काम कर रहा है। Thats क्यों मैंने उस टिप्पणी को हटा दिया है। मेरी गलती थी, एस 3 के लिए एमुलेटर कॉन्फ़िगरेशन सही नहीं था। इसीलिए। वैसे भी, आपके प्रयास के लिए धन्यवाद। +25 – Bharath

0

आप xlarge और xlarge-भूमि के लिए एक की जरूरत है अच्छी तरह से

या आप फोन करके प्रोग्राम के रूप में यह कर सकते हैं:

Display displayparm= activity.getWindowManager().getDefaultDisplay(); 
int width= displayparm.getWidth(); 
int Height= displayparm.getHeight(); 

और इस जानकारी

+0

@Andres .. मैं आपको यहां प्राप्त करता हूं। जिसके लिए मुझे 'xlarge' का उपयोग करना चाहिए। मैंने ऐसा लेआउट बनाया है। फिर भी 'लेआउट-बिग' को एस 3 और नेक्सस 7 – Bharath

0

आप res फ़ोल्डर के तहत नया फ़ोल्डर जोड़कर लेआउट बना सकते हैं उच्च संकल्प

0

मैं एक आवेदन जहां मैं अलग संकल्प और घनत्व के साथ कई उपकरणों का समर्थन विकसित किया है के लिए समर्थन करने के लिए के रूप में लेआउट-xlarge और लेआउट-xlarge-बड़े और यू एंड्रॉयड मैनिफ़ेस्ट फ़ाइल को अद्यतन करने के रूप में अच्छी तरह है । नेक्सस 7 और गैलेक्सी एस 3 के साथ उनमें से एक भी है। यदि आपके पास आपके प्रोजेक्ट में लेआउट-बड़े फ़ोल्डर हैं तो गैलेक्सी एस 3 और नेक्सस 7 बड़े स्क्रीन फ़ोल्डर से स्पष्ट रूप से लेंगे। लेकिन गैलेक्सी एस 3 बड़ी एचडीपीआई श्रेणी के अंतर्गत आता है और नेक्सस 7 बड़े टीवीडीपीआई श्रेणी के अंतर्गत आता है। इसलिए यदि आपके पास क्रमशः एस 3 और नेक्सस 7 के लिए लेआउट-बड़े-एचडीपीआई और लेआउट-बड़े-टीवीडीपीआई हैं तो यह बहुत अच्छा उपयोग होगा।

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