2012-12-25 17 views
7

मैं एक एंड्रॉइड विजेट विकसित कर रहा हूं और गैलेक्सी एस और गैलेक्सी एस 2 के बीच अंतर करने की आवश्यकता है। मैं लगभग स्क्रीन आकार और घनत्व लेखों के बारे में सबकुछ पढ़ता हूं। और मुझे, नए क्वालीफायर छोटे चौड़ाई के साथ नए क्वालीफायर का उपयोग करने की ज़रूरत है। मेरी समस्या यह है कि गैलेक्सी एस के लिए sw320dp क्वालीफायर मैच और गैलेक्सी एस 2 के लिए भी। लेकिन मुझे गैलेक्सी एस 2 के लिए एक और लेआउट चाहिए, लेकिन इसके लिए सही क्वालीफायर नहीं मिल सकता है।गैलेक्सी एस और गैलेक्सी एस 2 के लिए सबसे छोटी चौड़ाई

गैलक्सी एस, घनत्व 233 पिक्सल में

स्क्रीन का आकार की परिभाषा: 480 पिक्सेल x 800 पिक्सेल डी पी में

स्क्रीन का आकार: 329dp एक्स 549dp (कारण 1DP = 1pixel/(घनत्व/160)

-।> तो क्वालीफायर sw320dp यहाँ से मेल खाना चाहिए और हाँ यह करता

Galaxy S II, घनत्व पिक्सल में 218

स्क्रीन का आकार की परिभाषा: 480 पिक्सेल x 800 पिक्सेल डी पी में

स्क्रीन का आकार: 352dp एक्स 587dp (कारण 1DP = 1pixel/(घनत्व/160)

-> तो क्वालीफायर sw340dp यहाँ से मेल खाना चाहिए, लेकिन नहीं यह

नहीं करता (Teste एमुलेटर में और वास्तविक डिवाइस पर) घ

ड्रॉएबल समस्या नहीं हैं, लेकिन मेरी लेआउट, विशेष रूप से ऊंचाई और पाठ आकारों इन उपकरणों पर भिन्न हैं, इसलिए मैं वास्तव में उनके लिए एक विशिष्ट लेआउट की जरूरत है।

किसी के पास कोई विचार या अधिक अनुभव है?

+1

afaik, ढांचा वास्तविक घनत्व का उपयोग नहीं करता है, लेकिन 120, 160, 240, 320 पिक्सेल के निकटतम "बंद दौर", कम, मध्यम, उच्च और एक्स-उच्च करने के लिए इसी। तो आपके दोनों डिवाइस sw = 320 की रिपोर्ट करेंगे। इससे अनियमित परिणाम हो सकते हैं - मुझे गैलेक्सी डिवाइस – CjS

+0

हां पर भी इसके साथ समस्याएं हैं, यह मेरे अनुभव को भी उत्साहित करता है .... लेकिन एम्यूलेटर के अंदर भी हम वास्तविक उपकरणों के लिए सेटअप नहीं कर सकते हैं? – user1013443

+1

यह एमुलेटर के साथ कुछ भी नहीं है। यह ढांचे की एक विशेषता है। आपको वास्तविक डिवाइस – CjS

उत्तर

5

स्क्रीन घनत्व, के रूप में संदर्भ सामग्री से परिभाषित किया गया है:

स्क्रीन के एक भौतिक क्षेत्र के भीतर पिक्सल की मात्रा; आमतौर पर डीपीआई (डॉट्स प्रति इंच) के रूप में जाना जाता है। उदाहरण के लिए, "सामान्य" या "उच्च" घनत्व स्क्रीन की तुलना में, "कम" घनत्व स्क्रीन में किसी दिए गए भौतिक क्षेत्र के भीतर कम पिक्सेल होते हैं। सादगी के लिए, एंड्रॉइड सभी वास्तविक स्क्रीन घनत्व को चार सामान्यीकृत घनत्वों में समूहित करता है: निम्न, मध्यम, उच्च, और अतिरिक्त उच्च।

कम = 120dpi मेड = 160dpi उच्च = 240dpi xhi = 320dpi

तो आकाशगंगा SII, 218 की एक वास्तविक घनत्व के साथ, 240 डी पी में की एक "उच्च" घनत्व सौंप दिया जाता है गणना। इस प्रकार डीपी में स्क्रीन की चौड़ाई 480/240 * 160 = 320 है।

यह बेकार है, मैं सहमत हूं। लेकिन यह कैसे काम करता है।

http://developer.android.com/guide/practices/screens_support.html

+0

मैं समझता हूं कि एंड्रॉइड क्या करता है ... लेकिन अच्छी तरह से ... तथ्य यह है कि मैं एक वास्तविक सैमसंग गैलेक्सी एसआईआई या एसआईआईआई का उपयोग नहीं कर सकता, जो सबसे ज्यादा इस्तेमाल किया जाने वाला एंड्रॉइड फोन है ... यह बेकार है और वास्तव में मुझे आश्चर्यचकित कर रहा है .. – user1013443

+1

मुझे लगता है कि क्या आप गायब हैं कि वास्तविक गैलेक्सी एसआईआई में भी 320 डीपी का स्विंग होगा, और 340 नहीं होगा। तो आप असली डिवाइस को सटीक रूप से अनुकरण कर रहे हैं – CjS

+0

तथ्य यह है कि: वास्तविक डिवाइस का अनुकरण करना संभव नहीं है। केवल तभी यदि डिवाइस में घनत्व कम है, तो वह कम, मेड, उच्च या xdpi में से एक के साथ मेल खाता है। या गैलेक्सी फोन के लिए एमुलेटर कैसे सेट करें? मैंने यह सब कोशिश की। वास्तविक उपकरण हमेशा बहुत अलग दिखता है। – user1013443

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