2011-11-03 16 views
6

मैं एक मोबाइल वेबसाइट विकसित कर रहा हूं, और मैं एक दिलचस्प मुद्दे पर आया हूं।एंड्रॉइड ब्राउजर गलत स्क्रीन आकार की रिपोर्ट करता है?

मैं अपने डेस्कटॉप पर परीक्षण कर रहा हूं, साथ ही साथ मेरे मोटोरोला Droid (एंड्रॉइड 2.2) पर भी परीक्षण कर रहा हूं। मेरे पास 3 अलग-अलग स्टाइलशीट (320 पीएक्स चौड़ा, 480 पीएक्स चौड़ा, और 640 पीएक्स चौड़ा) लोड करने के लिए स्थापित मीडिया प्रश्न हैं। मैंने देखा कि 480x854px स्क्रीन होने के बावजूद मेरा Droid 320px स्टाइलशीट लोड कर रहा है। मैंने स्क्रीन की चौड़ाई क्या है, यह जानने के लिए एक छोटा सा जेएस स्थापित किया है, और यह 320px की रिपोर्ट कर रहा है।

क्या एंड्रॉइड ब्राउज़र एचडीपीआई स्क्रीन पर एमडीपीआई में चलाता है? यह स्क्रीन भरने के लिए 320 पीएक्स को ठीक से स्केल कर रहा है, लेकिन मैं थोड़ा उलझन में हूं कि यह क्यों हो रहा है।

इसके अलावा, मेरे पास < मेटा नाम = "व्यूपोर्ट" सामग्री = "चौड़ाई = डिवाइस-चौड़ाई" > मेरे पृष्ठ पर है, इसलिए यह समस्या नहीं है।

उत्तर

5

कई ओईएम एक पूरी तरह अलग संकल्प होने के बावजूद उनके डिफ़ॉल्ट ब्राउज़र व्यूपोर्ट iPhone (या इसी तरह के प्रस्तावों) के उन लोगों के आधार पर आयाम स्थापित करने के लिए चुना है। ऐप्पल को आईफोन 4 पर 'रेटिना डिस्प्ले' के रिलीज के साथ एक ही समस्या थी, जहां स्पेस शीट 640 पीएक्स भर में बताती है, लेकिन स्क्रीन.विड्थ सेट होने पर 320 पीएक्स वापस आ जाएगी।

जैसा कि बताया जा @omermuhammed screen.width पर सीएसएस @media प्रश्नों और/या उपकरण का पता लगाने WURFL या DeviceAtlas का उपयोग कर अपने तर्क का आधार,।

निम्न आलेख भी इस मुद्दे को स्पष्ट करने के लिए मदद करने में रुचि का हो सकता:

एक पिक्सेल नहीं एक पिक्सेल है नहीं द्वारा @ppk http://www.quirksmode.org/blog/archives/2010/04/a_pixel_is_not.html

0

मुझे एंड्रॉइड ब्राउज़र के संदर्भ में पता नहीं है, लेकिन मैंने हैंडसेट देखे हैं जहां एंड्रॉइड ने गलत स्क्रीन आकार की सूचना दी है। मैं उपयोगकर्ता तर्क स्ट्रिंग और स्क्रीन रिज़ॉल्यूशन के संयोजन पर आपके तर्क को आधार देने की अनुशंसा करता हूं। इस तरह आप इस हैंडसेट का पता लगा सकते हैं और अलग-अलग संभाल सकते हैं, और दूसरों के साथ सामान्य तंत्र का उपयोग कर सकते हैं।

0

एक पिक्सेल है मैं हो रही के साथ कुछ मुद्दों पर ध्यान दिया है एंड्रॉइड 4.2 पर स्क्रीन.विड्थ और स्क्रीन। हाइट।

  • डिवाइस के अभिविन्यास को दर्शाने के लिए आयाम अपडेट नहीं किए गए हैं।

यदि आप पहले अभिविन्यास प्राप्त करना चाहते हैं, तो तदनुसार मूल्यों को स्विच करना चाहते हैं, तो आप इसे सही कर सकते हैं।

http://menacingcloud.com/?c=orientationScreenWidth

http://davidwalsh.name/orientation-change (अच्छा matchMedia उपयोग)

  • ओएस उपयोगकर्ता इंटरफ़ेस तत्वों वास्तविक डिवाइस स्क्रीन आयामों से घटाया जाता है।

उदा। नेक्सस 7 स्क्रीन 1280x800 है, 1205x800 की सूचना दी गई है। ओएस बटन के लिए 75px।

  • आदर्श रूप से (मेरी राय में), मानों को सीएसएस पिक्सल में रिपोर्ट किया जाना चाहिए, डिवाइस पिक्सेल नहीं।

उदा। नेक्सस 7, सीएसएस व्यूपोर्ट चित्र में 600px पर सेट किया जाता है, लेकिन screen.width 800px रिपोर्ट। तो डीपीआर लगभग 1 है।33

कुल मिलाकर, स्क्रीन.विड्थ और स्क्रीन.हेइट बहुत विश्वसनीय नहीं हैं (आईओएस के अभिविन्यास के मुद्दे भी हैं)।

मैं आशा करता हूं कि जल्द ही इस उत्तर को और अधिक विस्तार से संपादित करें।