2012-07-03 11 views
6

मैंने कुछ समय के लिए खोज की है, यह जानने के लिए कि एंड्रॉइड ऐप को डिज़ाइन करने से पहले मुझे किस स्क्रीन रिज़ॉल्यूशन पर विचार करना चाहिए।एंड्रॉइड एप्लिकेशन को डिज़ाइन करते समय मुझे किस स्क्रीन रिज़ॉल्यूशन पर विचार करना चाहिए?

मैं इन बातों को पाया:

xlarge स्क्रीन हैं कम से कम 960dp एक्स 720dp

बड़ी स्क्रीन हैं कम से कम 640dp एक्स 480dp

सामान्य स्क्रीन हैं कम से कम 470dp एक्स 320dp

छोटे स्क्रीन कम से कम 426 डीपी x 320 डीपी

Which device resolutions should be kept in mind when developing Android Apps?

लेकिन असल में ये वही नहीं हैं जो मैं चाहता था।

क्या मैं जानना चाहता था मैं इन संकल्प से प्रत्येक के लिए अपने आवेदन डिजाइन या अकेले ध्यान में सबसे अधिक इस्तेमाल किया संकल्प लेना चाहिए है

या

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

या

के बारे में चिंता करने की जरूरत कभी नहीं ई मान गतिशील रूप से?

+1

आपको अपने एप्लिकेशन को संकल्प-स्वतंत्र, जिस तरह डेस्कटॉप और वेब डेवलपर्स ने कुछ दशकों तक किया है, डिज़ाइन करना चाहिए। – CommonsWare

उत्तर

7

क्या मुझे इन प्रस्तावों में से प्रत्येक के लिए अपना आवेदन डिज़ाइन करना चाहिए या सबसे अधिक उपयोग किए जाने वाले संकल्प को ध्यान में रखना चाहिए।

आप सुनिश्चित करें कि आपके आवेदन सभी स्क्रीन ही नहीं, सबसे लोकप्रिय एक पर ठीक से काम करता बनाना चाहिए। मैं नीचे से शुरू करूंगा ... पहले सुनिश्चित करें कि यह छोटे/सामान्य स्क्रीन पर सही ढंग से काम करता है (और ऐसा करने में, आप सुनिश्चित करते हैं कि यह सभी स्क्रीन पर काम करता है)। तो फिर आप अपने लेआउट टेबलेट के लिए बहु-फलक लेआउट का उपयोग करके, आदि मैं चौड़ाई, ऊंचाई और मार्जिन आदि के लिए किसी भी हार्डकोडेड मानों का उपयोग नहीं कर रहा हूँ, तो अनुकूलन कर सकते हैं

, मैं स्क्रीन संकल्प के बारे में चिंता करने की जरूरत नहीं है।

यकीन है कि क्या आप px के बजाय यहाँ कहने की कोशिश कर रहे हैं, लेकिन आप हमेशाdp (घनत्व स्वतंत्र पिक्सल) का उपयोग करके विभिन्न स्क्रीन संकल्प के बारे में सावधान रहना चाहिए नहीं।

प्रदर्शन मीट्रिक का उपयोग करके डिवाइस की चौड़ाई और ऊंचाई पाएं और इन मानों के अनुसार गतिशील रूप से सभी दृश्य बनाएं?

यह एक अंतिम उपाय होना चाहिए। अधिकांश समय, आपके लेआउट जटिल नहीं होंगे हालांकि, और यह आवश्यक नहीं होगा। चौड़ाई/ऊंचाइयों को सेट करने के लिए आप wrap_content और match_parent का उपयोग करेंगे, और अक्सर आप RelativeLayout एस का उपयोग एक दूसरे के सापेक्ष विचारों के स्थान पर करेंगे। यदि आपको यह बिल्कुल जरूरी लगता है तो आपको केवल दृश्यों की चौड़ाई/ऊंचाइयों को मापने की आवश्यकता है।

+0

दूसरे बिंदु से मेरा मतलब है ... केवल सामग्री को लपेटें, पैरेंट भरें, माता-पिता से मेल करें आदि .., 10 डीपी/10 पीएक्स –

+1

के बजाय आपको कभी भी 'पीएक्स' का उपयोग नहीं करना चाहिए, क्योंकि यह डिवाइस w/विभिन्न घनत्वों के लिए अच्छी तरह से स्केल नहीं करता है। जब तक यह हास्यास्पद नहीं है तब तक 'डीपी' का उपयोग करना ठीक है। यानी, यदि आपके पास एक बटन है जिसका चौड़ाई '20 डीपी' है, तो 99% मामलों में यह बिल्कुल ठीक है। आपको केवल सीमाओं के बारे में पता होना चाहिए ... यानी, यदि आप स्क्रीन के किनारे से बाहर जाने के लिए बटन की चौड़ाई निर्धारित करते हैं, तो वह तब होता है जब आप स्क्रीन की चौड़ाई की जांच करने के लिए डिस्प्ले मेट्रिक्स का उपयोग करना चाहते हैं, उदाहरण के लिए । लेकिन फिर, यह अक्सर एक समस्या नहीं होनी चाहिए। यह एक और कारण है कि सरल लेआउट डब्ल्यू/कम विचार आपके जीवन को आसान बनाते हैं :) –

+0

ठीक है ... तो अकेले डीपी का उपयोग करके मेरी समस्या हल हो जाएगी? ... बहुत धन्यवाद –

4

आईएमएचओ आपको हमेशा अपने आवेदन को कोड करना चाहिए ताकि प्रत्येक डिवाइस समर्थित हो। लॉन्चर आइकन से जो यहां विस्तृत है (विभिन्न स्क्रीन आकार के लिए अलग-अलग रिज़ॉल्यूशन): http://developer.android.com/guide/practices/ui_guidelines/icon_design_launcher.html आपके ऐप के लेआउट में जिसे डिज़ाइन किया जाना चाहिए ताकि सबकुछ स्क्रीन आकार के सापेक्ष रखा जा सके (match_parent और wrap_content जैसे गुणों का उपयोग करके)।

आप इसे कोड करने का प्रयास कर सकते हैं ताकि दृश्य स्क्रीन आकार की खोज के बाद दृश्य गतिशील रूप से बनाए जा सकें, लेकिन मुझे लगता है कि यह आपके पहले विचार को करने के लिए आसान और आसान है!

+0

तो आप मेरे दूसरे बिंदु का विस्तार कर रहे हैं? अगर मैं आपके उत्तर को सही ढंग से समझता हूं –

+0

हां, यह एक "अगर मैं चौड़ाई, ऊंचाइयों और मार्जिन इत्यादि के लिए किसी भी हार्डकोडेड मान का उपयोग नहीं कर रहा हूं .. मुझे स्क्रीन संकल्पों के बारे में चिंता करने की आवश्यकता नहीं है" – javajavajava

2

ठीक है, यह सभी आकारों के लिए डिज़ाइन करने की अनुशंसा की जाती है। लेकिन मुझे पता है कि यह बहुत अधिक है।

तो आप जो कर सकते हैं वह सबसे बड़ा डिवाइस है जिसे आप लक्षित कर रहे हैं और डिवाइस उनके आकार के आधार पर छवियों को समायोजित कर सकते हैं। हार्ड कोडित मानों का उपयोग न करें। wrap_content या fill_parent का उपयोग करें।

और हां, छवियों को गतिशील रूप से समायोजित करना एक अच्छा विचार है, भले ही इसे आपकी तरफ से अधिक कोडिंग की आवश्यकता हो। यह वह तकनीक है जिसका मैं उपयोग करता हूं।

3

बेस्ट विकल्प स्क्रीन की चौड़ाई और ऊंचाई को गतिशील रूप से सरल ऊंचाई और चौड़ाई प्राप्त करने वाले पैरामीटर प्राप्त करने के लिए प्राप्त करना है।

DisplayMetrics displaymetrics = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
     int height = displaymetrics.heightPixels; 
     int wwidth = displaymetrics.widthPixels; 

अन्य विकल्प इसे उच्चतम स्क्रीन चौड़ाई और ऊंचाई वाले डिवाइस के लिए बनाना है और फिर इसे संबंधित स्क्रीन आकार के लिए गणितीय रूप से संभालना है।

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