Android: बैकग्राउंड इमेज साइज (पिक्सेल में) जो सभी डिवाइसेस को सपोर्ट करता है


114

मैं एक एप्लिकेशन बना रहा हूं जो सभी एंड्रॉइड डिवाइसेस पर चलेगा। मैं अपने ऐप के लिए xhdpi ग्राफिक्स बनाना चाहता हूं। माय ऐप फुल स्क्रीन है। मैं ग्राफिक्स बनाने में उलझन में हूं। क्या कोई भी मुझे पिक्सेल में मेरी पृष्ठभूमि छवि का सबसे अच्छा आकार बता सकता है।

उदाहरण के लिए:

  • xhdpi: 720x1280 px
  • एचडीपीआई: 480x800 पीएक्स
  • mdpi: 320x480 px
  • ldpi: 240x320 px

मुझे सबसे अच्छे आकार का सुझाव दें जो सभी उपकरणों पर अच्छा लगेगा। क्योंकि मेरे ग्राफिक्स मेरे ऐप के मूल हैं।

मैं चाहता हूं कि हर डिवाइस को सबसे अच्छी छवि मिले जो वह चाहता है। Android छवि को संपीड़ित या विस्तारित करने में शामिल नहीं होगा।


3
एंड्रॉइड डॉक्यूमेंटेशन के एंड्रॉइड मल्टीपल स्क्रीन सपोर्ट को पढ़ें, वे यूजर इंटरफेस के लिए मानक देते हैं
RajeshVijayakumar

इस एक समाधान का उपयोग सभी पुराने और नए और आगामी उपकरणों के लिए सबसे अच्छा है। stackoverflow.com/a/40255870/2489061
उमर

जवाबों:


199

एप्लिकेशन को सभी उपकरणों में चलाने के लिए सबसे अच्छे आयाम निम्नलिखित हैं। कई सहायक स्क्रीन को समझने के लिए आपको http://developer.android.com/guide/practices/screens_support.html पढ़ना होगा

xxxhdpi: 1280x1920 px
xxhdpi: 960x1600 px
xhdpi: 640x960 px
hdpi: 480x800 px
mdpi: 320x480 px
ldpi: 240x320 px

10
XX को 2x
एचडीपीआई

1
दिलचस्प है, नेक्सस 5 xxhdpi है, लेकिन यह स्क्रीन का आकार 1080x1920 है
रोमन

3
LG G3 में 1440 x 2560 का रिज़ॉल्यूशन है और xxxhdpi का उपयोग करता है।
रोएल

1
एंड्रॉइड के साथ मुख्य समस्या / चुनौती, एचडीपीआई, एक्सएचडीपीआई आदि के लिए कोई सेट आकार नहीं है, क्योंकि प्रत्येक निर्माण एक अलग आकार का फोन / टैबलेट बना सकता है, आईओएस के विपरीत जहां केवल सेब बनाता है। श्रेणी को देखें: developer.android.com/guide/practices/…
toidiu

इस एक समाधान का उपयोग सभी पुराने और नए और आगामी उपकरणों के लिए सबसे अच्छा है। stackoverflow.com/a/40255870/2489061
उमर

63

Android डिवाइस मैट्रिसेस

                            ldpi     mdpi     hdpi    xhdpi    xxhdpi      xxxhdpi
Launcher And Home           36*36    48*48   72*72    96*96    144*144     192*192
Toolbar And Tab             24*24    32*32   48*48    64*64    96*96       128*128
Notification                18*18    24*24   36*36    48*48    72*72       96*96 
Background                 240*320  320*480 480*800  768*1280  1080 *1920  1440*2560 

(पृष्ठभूमि स्क्रीन की कुल ऊंचाई और फिर डिजाइन ग्राफिक्स ऑफ स्क्रीन की अच्छी पहुंच के लिए माइनस टूलबार आकार)

अधिक सहायता के लिए (इस लिंक में टैबलेट भी शामिल हैं):

https://design.google.com/devices/

एंड्रॉइड नेटिव आइकॉन्स (अनुशंसित) आप इन आइकन का रंग प्रोग्रामेटिक रूप से बदल सकते हैं । https://design.google.com/icons/


यहाँ सुझाए गए गुणक के साथ शोध क्यों नहीं करते हैं? developer.android.com/training/multiscreen/screendensities#java
बेन


5

मैंने चौकोर चित्रों के लिए इन घनत्वों के लिए सही आयामों के लिए इंटरनेट पर देखा, लेकिन कुछ भी विश्वसनीय नहीं पाया।

यदि यह किसी भी सांत्वना है, की चर्चा करते हुए Veerababu Medisetti का जवाब मैं के लिए इन आयामों इस्तेमाल किया चौकों :)

xxxhdpi: 1280x1280 px
xxhdpi: 960x960 px
xhdpi: 640x640 px
hdpi: 480x480 px
mdpi: 320x320 px
ldpi: 240x240 px

इस एक समाधान का उपयोग सभी पुराने और नए और आगामी उपकरणों के लिए सबसे अच्छा है। stackoverflow.com/a/40255870/2489061
उमर

4

GIMP उपकरण ठीक वही है जो आपको विभिन्न पिक्सेल रिज़ॉल्यूशन डिवाइसों के लिए छवियां बनाने की आवश्यकता होती है।

इन कदमों का अनुसरण करें:

  1. GIMP टूल में मौजूदा छवि खोलें।
  2. "छवि" मेनू पर जाएं, और "स्केल छवि ..." चुनें
  3. पिक्सेल आयाम का उपयोग करें जिसकी आपको आवश्यकता है:

    xxxhdpi: 1280x1920 px

    xxhdpi: 960x1600 px

    xhdpi: 640x960 px

    एचडीपीआई: 480x800 पीएक्स

    mdpi: 320x480 px

    ldpi: 240x320 px

  4. फिर "फ़ाइल" मेनू से छवि को "निर्यात" करें।


3

मेरी समझ यह है कि यदि आप किसी Viewऑब्जेक्ट का उपयोग करते हैं (उदाहरण के लिए माना जाता है। android:windowBackground) एंड्रॉइड स्वचालित रूप से आपकी छवि को सही आकार में ले जाएगा। समस्या यह है कि बहुत अधिक स्केलिंग कलाकृतियों (ऊपर और नीचे स्केलिंग के दौरान) और धुंधलापन दोनों का परिणाम हो सकता है। बाजार पर विभिन्न प्रस्तावों और पहलुओं अनुपात के कारण, हर स्क्रीन के लिए "सही" फिट बनाना असंभव है, लेकिन आप यह सुनिश्चित करने के लिए पूरी कोशिश कर सकते हैं कि केवल थोड़ा सा स्केलिंग किया जाना है, और इस प्रकार अवांछित दुष्प्रभावों को कम करें । तो मैं क्या करूंगा:

  • 6: 6: 8: 12: 16: छह सामान्यीकृत घनत्व (ldpi, mdpi, hdpi, आदि) के बीच स्केलिंग अनुपात 3: 4 रखें।
  • आपको अपने UI तत्वों के लिए xxxhdpi तत्वों को शामिल नहीं करना चाहिए, यह रिज़ॉल्यूशन केवल लॉन्चर आइकनों को अपग्रेड करने के लिए है (इसलिए केवल mipmap फ़ोल्डर) ... आपको लॉन्चर आइकन के अलावा UI तत्वों के लिए xxxhdpi क्वालीफ़ायर का उपयोग नहीं करना चाहिए। ... हालांकि उदा। सैमसंग किनारे पर 7 कॉलिंग getDisplayMetrics().densityरिटर्न 4 (xxxhdpi) है, इसलिए शायद यह जानकारी पुरानी है।
  • फिर बाजार पर नए फोन मॉडल देखें, और प्रतिनिधि खोजें। नए Google पिक्सेल की मानें तो एक एंड्रॉइड फोन का एक अच्छा प्रतिनिधित्व है: इसमें 441 डीपीआई पर 1080 x 1920 रिज़ॉल्यूशन है, और स्क्रीन का आकार 4.4 x 2.5 इंच है । फिर Android डेवलपर डॉक्स से :

    • ldpi (कम) ~ 120dpi
    • mdpi (माध्यम) ~ 160dpi
    • एचडीपीआई (उच्च) ~ 240 डीपीआई
    • xhdpi (अतिरिक्त-उच्च) ~ 320dpi
    • xxhdpi (अतिरिक्त-अतिरिक्त-उच्च) ~ 480dpi
    • xxxhdpi (अतिरिक्त-अतिरिक्त-अतिरिक्त-उच्च) ~ 640dpi

    यह एक xxhdpiस्क्रीन से मेल खाती है । यहाँ से मैं इन 1080 x 1920 को नीचे (3: 4: 6: 8: 12) अनुपात से ऊपर ले जा सकता हूँ।

  • मैं यह भी स्वीकार कर सकता हूं कि डाउनसमलिंग आम तौर पर बड़े पैमाने पर एक आसान तरीका है और इस प्रकार मैं अपने एपीके (नोट: उच्च मेमोरी खपत) में बंडल किए गए थोड़े ओवरसाइज़ किए गए बिटमैप चाह सकता हूं। एक बार और यह मानते हुए कि पिक्सेल स्क्रीन की चौड़ाई और ऊंचाई रिप्रेसिटेटिव है, मैं 480x4420 के एक कारक द्वारा 1080x1920 को स्केल करूंगा, जिससे मेरी अधिकतम रिज़ॉल्यूशन पृष्ठभूमि छवि लगभग अनुमानित हो जाएगी। 1200x2100, जिसे तब 3: 4: 6: 8: 12 तक बढ़ाया जाना चाहिए।
  • याद रखें, आपको केवल बिटमैप फ़ाइलों (.png, .jpg, या .gif) और नौ-पैच फ़ाइलों (.9.png) के लिए घनत्व-विशिष्ट ड्रॉबल्स प्रदान करने की आवश्यकता है। यदि आप ड्रा करने योग्य संसाधनों (जैसे आकार) को परिभाषित करने के लिए XML फ़ाइलों का उपयोग करते हैं, तो बस एक प्रतिलिपि को डिफ़ॉल्ट ड्रॉबल डायरेक्टरी में रखें।
  • यदि आपको कभी भी वास्तव में बड़े या विषम पहलू अनुपात को समायोजित करना है, तो इसके लिए झंडे का उपयोग करते हुए, इसके लिए विशिष्ट फ़ोल्डर बनाएं, जैसे। sw, long, large, आदि
  • और पृष्ठभूमि को दो बार खींचने की आवश्यकता नहीं है। इसलिए एक स्टाइल के साथ सेट करें<item name="android:windowBackground">@null</item>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.