2012-08-05 17 views
6

क्या यह डिवाइस की चौड़ाई और हाइट प्राप्त करने की एक बुरी आदत है और तदनुसार छवियों/बटन आकारों को प्रोग्रामेटिक रूप से सेट करें।एंड्रॉइड: स्क्रीन आकार के अनुसार प्रोग्रामेटिक रूप से आकार समायोजित करें

मैं इसे गलत रूप में यह मुझे कुछ उपकरणों पर अजीब परिणाम देता है (inacurancies के शीर्ष पर) लेआउट और घनत्व के लिए भिन्न फ़ोल्डर का उपयोग करने के

आपका अनुभव की सराहना की हैं। धन्यवाद

उत्तर

2

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

एक बार जब मैंने डेमो बनाया है और यह मेरे लिए काम करता है। मैंने एक बटन बनाया है जो ऊंचाई और चौड़ाई समान है। अब मैंने एक स्क्रीन के अनुसार अपनी आवश्यक ऊंचाई और चौड़ाई निर्धारित की है जिसमें यह सही दिख रहा है।

उसके बाद मैंने उस पिक्सेल की गणना की है जिसे इसे उस स्क्रीन में संभव बनाने के लिए आवश्यक है और उस पर आधारित मैंने इसे सभी स्क्रीन पर लागू किया है।

अब यह किसी भी घनत्व और संकल्प के साथ सभी डिवाइस में बहुत अच्छा काम करता है।

तो यदि रन टाइम पर उत्पन्न कोई भी दृश्य है और आप इसकी ऊंचाई और चौड़ाई निर्धारित करना चाहते हैं तो सबसे अच्छा तरीका इसकी ऊंचाई-चौड़ाई अनुपात की गणना करना और इसका उपयोग करना है।

उम्मीद है कि यह आपकी मदद करेगा।

कोडिंग का आनंद लें। । । ।

:)

+0

मुझे यह व्यावहारिक टिप्पणी पसंद है। यह निश्चित रूप से समझ में आता है। मैं अनुपात पहलू को समझता हूं लेकिन आप पहली जगह चौड़ाई कैसे निर्धारित करते हैं? मैं क्या करता हूं यह देखने का प्रयास करता है कि बटन अच्छे दिखने के लिए कितने पिक्सेल की आवश्यकता है। फिर मैं स्क्रीन कुल पिक्सल से प्राप्त प्रतिशत देखता हूं। आखिरकार मैं इस स्क्रीन का उपयोग प्रत्येक स्क्रीन पर प्रोग्राम चौड़ाई पर बटन चौड़ाई की गणना करने के लिए करता हूं। क्या इस का कोई मतलब निकलता है? – Snake

+0

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

+0

आप बटन के पिक्सेल की गणना कैसे करते हैं ?? क्या आप उस काम के टुकड़े के लिए कोड प्रदान कर सकते हैं ?? मदद की सराहना की जाएगी – User42590

1

ठीक है, ज्यादातर मामलों में आपके पास लेआउट होंगे, या जटिल होंगे, और प्रोग्रामेटिक रूप से पदों की गणना करना मुश्किल होगा।

और यह भी एक हानिकारक होगा, क्योंकि आप इंटरफ़ेस सामान (grafic लेआउट और इतने पर) का उपयोग करने में सक्षम नहीं होंगे, और अन्य लोग, या स्वयं, गणनाओं को उसी तरह समझ नहीं पाएंगे अगर वे एक्सएमएल में विचार देखते हैं। पुनर्गठन, कहीं भी एक स्थिति बदलना दर्दनाक हो सकता है।

आप बिटमैप्स के साथ अक्सर काम करेंगे, जिसमें एक निश्चित आकार है, यदि आप प्रोग्रामिंग के आयामों की गणना करते हैं और खिंचाव करते हैं तो वे अच्छे नहीं दिखेंगे। कम से कम आपको बिटमैप्स के विभिन्न सेट की आवश्यकता होगी और तदनुसार लोड करें।

यदि आप उदाहरण के लिए रिश्तेदार लेआउट का उपयोग करते हैं (जैसे माता-पिता के निचले हिस्से में ऊपर/संरेखित), वजन के साथ रैखिक लेआउट, और डुबकी (घनत्व स्वतंत्र पिक्सल)। आपको प्रोग्रामेटिक लेआउट केवल तभी करना चाहिए जब यह अन्य तरीकों से संभव न हो। या कुछ निश्चित मामलों में जहां यह वास्तव में चीजों को आसान बनाता है।

+0

यह सच है। लेकिन ऐसा करने से मुझे निम्नलिखित प्रश्न में भाग लिया गया जो मैंने एक उपहार के साथ बनाया था। http://stackoverflow.com/questions/10378030/two-devices-similar-densities-yet- अलग-image-sizes – Snake

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