2012-07-28 14 views
6

मैंने एक ऐप विकसित किया है जिसे गैलेक्सी नेक्सस और गैलेक्सी एस 3 दोनों को लक्षित करना था। दोनों में 720 x 1280 स्क्रीन संकल्प हैं और मैंने केवल अपने ऐप में 'डीपी' मानों का उपयोग किया है। संसाधन 'लेआउट-xhdpi' और 'drawable-xhdpi' फ़ोल्डर में मौजूद हैं। लेआउट नेक्सस पर बिल्कुल ठीक दिखता है, लेकिन पैडिंग मान (डीपी में) एस 3 पर थोड़ा सा बंद है। मैं इसे एस 3 पर बड़े स्क्रीन आकार और घनत्व में अंतर के कारण मानता हूं।एंड्रॉइड एस 3 लेआउट बनाम गैलेक्सी नेक्सस लेआउट

मैं नेक्सस और एस 3 के लिए एक अलग फ़ोल्डर कैसे बना सकता हूं ताकि मैं अलग-अलग स्क्रीन आकारों को ध्यान में रख सकूं?

उत्तर

0

आप डिवाइस मॉडल प्राप्त कर सकते हैं और लेआउट सेट कर सकते हैं।

निम्नलिखित आप मॉडल

String phoneModel = android.os.Build.MODEL; 
if(phoneModel.equals("ABC")) { 
    // SET Ralated Layout 
} else if(phoneModel.equals("XYZ")) { 
    // SET Ralated Layout 
} 
+2

निश्चित रूप से ऐसा करने का एक बेहतर तरीका है। मुझे xml को जावा कोड नहीं बदलने की जरूरत है। – karlstackoverflow

+0

ओ.के. लेकिन क्या आप मुझे कम वोट के कारण बता सकते हैं? –

9

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

एक ही लेआउट परिदृश्य और चित्र लेआउट-sw360dp लिए

केवल परिदृश्य लेआउट-sw360dp भूमि के लिए

केवल चित्र के लिए लेआउट-sw360dp-port

मैं यह कहने का प्रयास करता हूं कि आप पहले नामांकन के साथ फ़ोल्डर्स बनाने के पहले वर्गीकरण का उपयोग कर सकते हैं। गैलेक्सी एस 3 - WXGA720 में लोड किया गया लेआउट लोड किया गया है। यह इस प्रकार के डिवाइस के लिए लेआउट को अलग करने का एक तरीका है। इसकी नीरस एंड्रॉइड 4.0+।

+0

मेरे पास अभी भी उस फ़ोल्डर का उपयोग नहीं किया जा रहा है – Mikey

5

मैं sw360dp-long का उपयोग करता हूं जो सिस्टम जीएस 3 के लिए उपयोग करेगा और मैं गैलेक्सी नेक्सस के लिए sw360dp का उपयोग करता हूं।

+0

यह मेरे मामले में काम नहीं करता है .. मुझे sw384dp – whyoz

+1

पूरी तरह से काम करना पड़ा। आकाशगंगा एस 3 के लिए 'sw360dp-long' का उपयोग करें और इसी श्रेणी के अन्य सभी उपकरणों के लिए' sw360dp.' – astuter

2

Nexus 4: उपयोग sw384dp (768x1280)

सैमसंग एस 3: उपयोग sw360dp (720x1280)

यह ध्यान दिया जाना चाहिए कि दोनों sw360dp बाल्टी में गिर जाते हैं, लेकिन कुछ डेवलपर्स बातें पिक्सेल बनाने के लिए आवश्यकता हो सकती है सही है, इसलिए 384 फ़ोल्डर की आवश्यकता हो सकती है, लेकिन यदि आप लाइनरलाइट और हार्डकोडिंग डीपी इकाइयों के बजाय "वज़न" का उपयोग करके अधिक लचीला लेआउट डिज़ाइन कर सकते हैं तो इससे बचा जाना चाहिए।

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