2011-04-05 167 views
8

我需要以編程方式設置菜單圖標(不通過佈局文件),並且還需要從file:/// android_asset /(不作爲已編譯的Drawable加載)加載圖標文件。我發現顯示圖標的大小相對較小。它看起來像Android的調整,或什麼的,我不希望實現與出代碼相同的效果。android菜單圖標大小

正如您在附件屏幕截圖中看到的,菜單「globe-36」,「globe-48」和「globe-72」使用代碼填充,其圖像爲36x36,48x48和72x72 (這是我加載在我的應用我的圖標的方式,我有)

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

而且,菜單中的「全球-ASET」和「條形碼資產」被填充,如:

MenuItem mi = menu.add(Menu.NONE, i++, i++, "globe-asset"); 
    mi.setIcon(R.drawable.globe); 

enter image description here

+0

這是否取決於屏幕分辨率? – Aleadam 2011-04-05 22:55:08

+0

什麼是R.drawable.globe的分辨率是多少?你的屏幕xhdpi? – 18446744073709551615 2012-08-09 11:23:46

+0

來設置圖標Pramaticallly [負載活性和 - 或 - 應用 - 徽標編程從 - 清單] [1] [1]:http://stackoverflow.com/questions/6105504/ load-activity-and-or-application-logo-programmatically-from-manifest – Jabeer 2012-09-21 12:59:11

回答

10

的菜單圖標的尺寸爲:

  • LDPI:36X36
  • MDPI:48×48
  • 華電國際:最高72x72
  • xhdpi:96×96
  • xxhdpi:144x144

爲您全球資產大約是兩倍的全球-48我假設你screensh OT是從該期望菜單圖標作爲96×96的xhdpi設備。

+0

對於較新的信息,請看這裏https://stackoverflow.com/questions/13639263/whats-the-correct-size-icon-for-drawable- xxhdpi – Justin 2015-05-22 04:05:18

+0

爲xxxhdpi:192x192 – 2015-09-04 00:07:38