2015-11-19 8 views
6

आज के डिस्प्ले आकार और संकल्प में काफी बड़ी रेंज है। उदाहरण के लिए, मेरा 34.5 सेमी × 1 9 .5 सेमी प्रदर्शन (जिसके परिणामस्वरूप 3 9 .6 सेमी या 15.6 "का विकर्ण 1366 × 768 पिक्सल है, जबकि 15" विकर्ण के साथ मैकबुक प्रो (तीसरी पीढ़ी) 2880 × 1800 पिक्सेल है।जीयूआई डेवलपर्स वेरिएबल पिक्सेल घनत्व के साथ कैसे काम करते हैं?

एकाधिक लोगों ने शिकायत की कि इस तरह के उच्च रिज़ॉल्यूशन डिस्प्ले के साथ सब कुछ बहुत छोटा है (example देखें)। यह समझाना आसान है कि डेवलपर्स अपने जीयूआई को परिभाषित करने के लिए पिक्सल का उपयोग करते हैं। "पारंपरिक प्रदर्शन" के लिए, यह एक बड़ी समस्या नहीं है क्योंकि अधिकांश मॉनीटर पर पिक्सेल के आकार के बारे में हो सकता है। लेकिन बहुत अधिक पिक्सेल घनत्व वाले नए मॉनीटर पर पिक्सल बस छोटे होते हैं।

तो उपयोगकर्ता इंटरफ़ेस डेवलपर उस समस्या से कैसे निपट सकते हैं? क्या स्क्रीन का भौतिक आकार प्राप्त करना संभव है? क्या पिक्सल-आधारित वाले लोगों के बजाय भौतिक आकार सेट करना संभव है? क्या यह अभी भी एक समस्या है (यह थोड़ी देर के बाद से मैंने इसके बारे में पढ़ा है) या क्या यह निश्चित रूप से तय किया गया था?

(जबकि css seems to support cm, जब मैं here कोशिश करता हूं, तो यह सेट आकार नहीं है)।

+0

मुझे यकीन नहीं है कि यह महत्वपूर्ण है, लेकिन मैं केवल लिनक्स-केवल उपयोगकर्ता/डेवलपर हूं। –

+0

आह, कौन सा पर्यावरण? उनमें से ज्यादातर थोड़े [गन्दा] (https://wiki.archlinux.org/index.php/HiDPI) आज लगता है, और डीपीआई जानकारी भी [सटीक] नहीं हो सकती है (http://unix.stackexchange.com/a/75387/36 9 73) पहली जगह में। मैं पहली बार सही डीपीआई जानकारी के बिना अपने उत्तर में जोड़ने में संकोच करता हूं, 'ओएस पर निर्भर' या 'डीपीआई को संभालने' में से कोई भी 'टूलकिट पर भरोसा नहीं करता' या काम कर सकता है। – Martheen

+0

@ मार्टहेन मैं मेट डेस्कटॉप वातावरण के साथ लिनक्स मिंट का उपयोग कर रहा हूं। –

उत्तर

2

उपयोगकर्ता इंटरफ़ेस डेवलपर उस समस्या से कैसे निपट सकते हैं/चाहिए?

resolution independence का समर्थन करने वाले टूलकिट या ढांचे का उपयोग करें। WPF जमीन से संकल्प-स्वतंत्र होने के लिए बनाया गया है, लेकिन Windows Forms जैसे पुराने ढांचे को भी नई चाल सीख सकते हैं। OSX/iOS और Windows (या browser यदि हम वेब के बारे में बात कर रहे हैं) स्वयं स्वचालित स्केलिंग द्वारा समस्या का ख्याल रखने का प्रयास कर सकते हैं, लेकिन यदि बिटमैप ग्राफिक शामिल है, तो डेवलपर्स को एंड्रॉइड में different bitmaps प्रदान करने की आवश्यकता हो सकती है (जो कि सबसे अलग संकल्प और घनत्व का सामना करती है अन्य ओएस की तुलना में)

क्या स्क्रीन का भौतिक आकार प्राप्त करना संभव है?

No, और डेवलपर्स को इसकी परवाह नहीं करनी चाहिए। डेवलपर्स को केवल डिवाइस की कक्षा (कहें, टैबलेट और स्मार्टफ़ोन के लिए अलग-अलग यूआई) की देखभाल करनी चाहिए, और संभवतः डीपीआई का निर्णय लेना चाहिए कि किस बिटमैप संसाधन का उपयोग करना है। वेक्टर संसाधन और फ़ॉन्ट ढांचे द्वारा स्केल किया जाना चाहिए।

क्या यह अभी भी एक समस्या है (यह थोड़ी देर के बाद से मैंने इसके बारे में पढ़ा है) या यह निश्चित रूप से तय किया गया था?

जब आप इसके बारे में आखिरी बार पढ़ते हैं तो इस पर निर्भर करता है। विंडोज़ समर्थन अभी भी आंतरिक ऐप्स के लिए भी स्पॉटी है, और जब भी WPF या UWP में विकसित कोई भी आसान है, तो तीसरे पक्ष के ऐप्स जल्द ही शामिल होने की अपेक्षा न करें। OSX प्रदर्शन स्केलिंग जबकि आधुनिक मोबाइल ओएस या तो संकल्प (आईओएस और विंडोज फोन) के सीमित रेंज पर चल रहे हैं थोड़ा बेहतर है, काम करते हैं या हर संकल्प कल्पना को संभालने के लिए लगता है काफी अच्छी तरह से (Android)

+0

उत्तर के बारे में "नहीं" - यदि डेवलपर डीपीआई और संकल्प को जानता है, तो वह वास्तव में डिवाइस के भौतिक आकार को जानता है। कम से कम आकार उपयोगकर्ता जीयूआई को देना पसंद करता है, जो कि जीयूआई डेवलपर की देखभाल करनी चाहिए। – johnfound

0

वहाँ से निपटने के लिए कुछ तरीके हैं विभिन्न स्क्रीन आकार, उदाहरण के लिए जब मैं जावा में मोबाइल ऐप करता हूं, तो मैं या तो डीआईपी (घनत्व स्वतंत्र पिक्सल; वे एक निश्चित आकार में रहते हैं) का उपयोग करते हैं या ऑब्जेक्ट को सरल गणित के साथ स्क्रीन का प्रतिशत मानते हैं। वेब विकास के लिए, आप वीडब्ल्यू और वीएच (व्यूपोर्ट चौड़ाई और व्यूपोर्ट ऊंचाई) का उपयोग कर सकते हैं, इन्हें पीएक्स के बजाय मूल्य के अंत में जोड़कर, ऑब्जेक्ट व्यूपोर्ट का प्रतिशत लेते हैं। उदाहरण के लिए 100vh व्यूपोर्ट ऊंचाई का 100% लेता है।तो मुझे लगता है कि ऐसा करने का सबसे अच्छा तरीका है, लेकिन समय लेने वाला, बूटस्ट्रैप जैसी लाइब्रेरी का उपयोग करना है जो विंडो का आकार बदलते समय स्वचालित रूप से तत्वों का आकार बदलता है। W3Schools के बूटस्ट्रैप पर एक अच्छा ट्यूटोरियल है और इनमें से किसी भी विकल्प पर अधिक विस्तृत व्याख्याओं को एक आसान Google खोज के साथ देखा जा सकता है।

0

आज जीयूआई का डिज़ाइन विविधता युग प्रदर्शित करता है वास्तविक चुनौती है। मैं कई संकेत सुझाव है, मुख्य रूप से जीयूआई अनुप्रयोगों डिजाइन के बारे में:

  1. सेट कभी या उम्मीद पाठ की लगातार पिक्सेल आकार - उपयोगकर्ता ओएस के सिस्टम सेटिंग्स से बदल सकते हैं। टेक्स्ट के लिए कुछ वास्तविक-दुनिया उपायों का उपयोग करें और ड्राइंग करते समय अपने पिक्सेल आकार की जांच करें। खिड़की की सीमाओं में यादृच्छिक आकार टेक्स्ट डालने का कोई तरीका प्रदान करें।

  2. कभी भी जीयूआई विगेट्स के निरंतर पिक्सेल आकार को सेट या उम्मीद न करें। खिड़की के आकार के अनुसार - उन्हें कुछ अनुकूली तरीके से खिड़की पर रखने की कोशिश करें। अधिकांश जीयूआई विजेट टूलकिट में आज ऐसे उपकरण हैं।

  3. कभी भी स्थिर पिक्सेल आकार संवाद विंडो सेट या अपेक्षा न करें। ओएस को आपके लिए आकार चुनने दें और फिर आप जो प्राप्त करते हैं उसका उपयोग करें (एक्स)। या, यदि आपको कुछ आकार और स्थिति (विंडोज) सेट करने की आवश्यकता है, तो इसे स्क्रीन आकार के प्रतिशत के रूप में परिभाषित करें।

  4. यदि संभव हो तो आइकन के लिए स्केलेबल छवि प्रारूपों का उपयोग करें। वास्तव में प्रतीक के लिए एसवीजी महान है। विभिन्न आकारों के साथ बिटमैप आइकन के सेट का उपयोग स्वीकार्य है, लेकिन स्मृति उपयोग के रूप में अत्यधिक गैर-इष्टतम है और अभी भी अधिकांश मामलों में सही स्केलिंग प्रदान नहीं करेगा।

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