2011-04-05 17 views
8

मुझे मेनू आइकन प्रोग्रामेटिक रूप से सेट करना होगा (लेआउट फ़ाइल के माध्यम से नहीं), और मुझे फ़ाइल से आइकन फ़ाइल लोड करने की आवश्यकता है: /// android_asset/(संकलित ड्रायबल के रूप में लोड नहीं)। मैंने पाया कि प्रदर्शित आइकन का आकार अपेक्षाकृत छोटा है। ऐसा लगता है कि एंड्रॉइड इसे या कुछ आकार बदलता है, और मैं आउट कोड के साथ एक ही प्रभाव प्राप्त नहीं करना चाहता हूं।एंड्रॉइड मेनू आइकन आकार

जैसा कि आप संलग्न स्क्रीन शॉट में देख सकते हैं, मेनू "ग्लोब -36", "ग्लोब -48" और "ग्लोब -72" कोड का उपयोग करके पॉप्युलेट किया गया है, और उनकी छवि 36x36, 48x48 और 72x72 है :

MenuItem mi = menu.add(Menu.NONE, i++, i++, "globe-asset"); 
    mi.setIcon(R.drawable.globe); 
: मेनू "ग्लोब Aset" और "बारकोड संपत्ति" (इस तरह मैं अपने अनुप्रयोग में मेरी आइकन लोड है, मैं करने के लिए है)

  MenuItem mi = menu.add(Menu.NONE, i++, i++, icon); 
      Drawable d = Drawable.createFromStream(getAssets().open(icon + ".png"), icon); 
      mi.setIcon(d); 

और, जैसे भर जाती है

enter image description here

+0

क्या यह स्क्रीन रिज़ॉल्यूशन पर निर्भर करता है? – Aleadam

+0

R.drawable.globe का संकल्प क्या है? क्या आपकी स्क्रीन xhdpi है? – 18446744073709551615

+0

चिह्न Pramaticallly स्थापित करने के लिए [लोड-गतिविधि और या आवेदन-logo-प्रोग्राम के रूप में-से-प्रकट] [1] [1]: http://stackoverflow.com/questions/6105504/ लोड-गतिविधि-और-या-एप्लिकेशन-लोगो-प्रोग्रामेटिक-से-मेनिफेस्ट – Jabeer

उत्तर

10

मेनू प्रतीक के आकार हैं:

  • ldpi: 36x36
  • mdpi: 48x48
  • hdpi: 72x72
  • xhdpi: 96x96
  • xxhdpi: 144x144
अपने रूप

ग्लोब-एसेटग्लोब -48 जितना बड़ा है, मुझे लगता है कि आपका स्क्रीनश ot एक xhdpi डिवाइस से है जो मेनू आइकन को 96x96 के रूप में अपेक्षा करता है।

+0

नई जानकारी के लिए, यहां देखें https://stackoverflow.com/questions/13639263/whats-the-correct-size-icon-for-drawable- xxxhdpi – Justin

+0

xxxhdpi के लिए: 1 9 2x192 –

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