2012-10-23 15 views
73

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

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

  • xhdpi: 720x1280 पिक्सल
  • hdpi: 480x800 पिक्सल
  • mdpi: 320x480 पिक्सल
  • ldpi: 240x320 पिक्सल

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

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

+3

पढ़ें एंड्रॉयड प्रलेखन के Android एकाधिक स्क्रीन समर्थन, वे इस एक ही समाधान सभी पुराने और नए के लिए और आगामी उपकरणों के लिए यह सबसे अच्छा के लिए यूजर इंटरफेस – RajeshVijayakumar

+0

उपयोग मानक दे। http://stackoverflow.com/a/40255870/2489061 – Umar

उत्तर

164

ऐप के सभी उपकरणों में चलाने के लिए निम्नतम आयाम निम्न हैं। एकाधिक समर्थन स्क्रीन को समझने के लिए आप 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 
+5

@and xxhdpi के लिए? – PankajAndroid

+10

एक्सएक्स 2x एचडीपीआई – LarryBud

+1

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

3

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

अगर यह किसी भी सांत्वना है, Veerababu Medisetti's answer की चर्चा करते हुए मैं इन आयामों चौकों :)

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

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

33

के लिए इस्तेमाल किया 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/

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

1

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

  • 3 करने के लिए रखें।
  • आपको अपने यूआई तत्वों के लिए xxxhdpi तत्व शामिल नहीं करना चाहिए, यह संकल्प केवल लॉन्चर आइकन को अपस्केल करने के लिए है (इसलिए केवल mipmap फ़ोल्डर) ... You should not use the xxxhdpi qualifier for UI elements other than the launcher icon. ...हालांकि उदाहरण के लिए। सैमसंग एज 7 पर कॉलिंग getDisplayMetrics().density रिटर्न 4 (xxxhdpi), तो शायद यह जानकारी पुरानी है।
  • फिर बाजार पर नए फोन मॉडल देखें, और प्रतिनिधि को ढूंढें। नए Google पिक्सेल को मानना ​​एक एंड्रॉइड फोन का अच्छा प्रतिनिधित्व है: इसमें 1080 x 1920 रिज़ॉल्यूशन 441 डीपीआई है, और 4.4 x 2.5 inches का स्क्रीन आकार है। तब the android developer docs से:

    • ldpi (कम) ~ 120dpi
    • mdpi (मध्यम) ~ 160dpi
    • hdpi (उच्च) ~ 240dpi
    • xhdpi (अतिरिक्त उच्च) ~ 320dpi
    • xxhdpi (अतिरिक्त अतिरिक्त उच्च) ~ 480dpi
    • xxxhdpi (अतिरिक्त अतिरिक्त अतिरिक्त उच्च) ~ 640dpi

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

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

GIMP tool वास्तव में क्या आप अलग अलग पिक्सेल संकल्प उपकरणों के लिए चित्र बनाने की जरूरत है।

  1. ओपन GIMP उपकरण में मौजूदा छवि:

    इन चरणों का पालन करें।

  2. जाओ करने के लिए "छवि" मेनू, और "स्केल छवि का चयन करें ..."पिक्सेल आयाम नीचे
  3. उपयोग आप की जरूरत है कि:

    xxxhdpi: 1280x1920 पिक्सल

    xxhdpi: 960x1600 पिक्सल

    xhdpi: 640x960 पिक्सल

    hdpi: 480x800 पिक्सल

    mdpi : 320x480 पीएक्स

    एलडीपीआई: 240x320 पीएक्स

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

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