2011-02-15 72 views
0

這是最瘋狂的問題。我正從資產目錄加載自定義圖標以供我的應用程序使用。該應用程序加載自定義圖標並在桌面上創建快捷方式。所有的圖標都是48x48 png文件。資產目錄中的快捷圖標太小

在Android 2.1和2.2仿真器上,這是完美的。在Droid X(Android 2.2)上,圖標顯示小於48x48。

現在對於踢球者來說,如果我將其中一個圖標移動到drawable目錄並從那裏加載它,它就會正確顯示。

任何想法可能與droid x的問題?

有什麼辦法可以得到所有可繪製的列表?如果有的話,我可以把我所有的圖標放在drawables目錄下,儘管有點難看,所以在那裏存放100個圖標。

我加載圖標代碼是非常標準:

 AssetManager assets = context.getAssets(); 
     InputStream inputStream = assets.open("icons/"+ name); 
     if (inputStream != null) 
     { 
      Bitmap bitmap = BitmapFactory.decodeStream(inputStream); 
      if (bitmap != null) 
      { 
       return bitmap; 
      } 
     } 

回答

0

這裏有一點要提的是,當你說,它在2.1,2.2模擬器..什麼是使用模擬器的密度效果不錯。密度對圖像的顯示方式有很大的影響。另一點,根據android處理圖像的方式,小/正常/大/ xlarge屏幕和ldpi/mdpi/hdpi/xdpi的屬性應用於res中的資產,因此可繪製文件夾。它不適用於資產文件夾。

我想說的是閱讀Android displays assets如何在Res文件夾而不是資產文件夾中播放圖標。你會找到解決方案,並增加你的Android知識。

+0

加載從res文件夾圖標100我將不得不硬編碼他們。你可以在我的帖子中看到我已經提到他們可以放在那裏。我將不得不創建一個類來創建一個圖標列表。將來添加或刪除圖標也需要對類進行更改。我無法找到任何方式來獲取所有可繪製列表,例如您可以獲取資產列表。 – pcm2a 2011-02-15 12:53:11

0

參見如何通過所有可繪製在R.

迭代this answer這是相關線路:

Field[] drawables = android.R.drawable.class.getFields();