2017-03-12 61 views
22

我想在我的自定義啓動安裝圖標包,我已經仔細閱讀本說明How to install icon pack,但我無法理解如何使用這個類,這裏​​是我做了什麼:如何在自定義啓動器上安裝圖標包?

IconPackManager ic = new IconPackManager(); 
HashMap<String, IconPackManager.IconPack> map = new HashMap<String, IconPackManager.IconPack>(ic.getAvailableIconPacks(false)); 
Iterator it = map.entrySet().iterator(); 
Drawable d = null; 
String packName = null; 
IconPackManager.IconPack packIcon = null; 
    while (it.hasNext()) { 
     Map.Entry pair = (Map.Entry)it.next(); 
     packName = (String)pair.getKey(); 
     packIcon = (IconPackManager.IconPack)pair.getValue(); 
     d = packIcon.getDrawableIconForPackage(packName, iconDrawable); 
     setIcon(d); 
    } 
+0

的IconPackManager是不是一個標準的Android類。這個課程來自哪裏的來源/圖書館信息在哪裏? –

+0

上面...點擊如何安裝圖標包 –

回答

8

解決這個:

String packName = null; 
IconPackManager.IconPack packIcon = null; 

IconPackManager ic = new IconPackManager(); 
HashMap<String, IconPackManager.IconPack> map = ic.getAvailableIconPacks(true); 
Iterator it = map.entrySet().iterator(); 


     while (it.hasNext()) { 
      Map.Entry pair = (Map.Entry)it.next(); 
      packName = (String)pair.getKey(); //Get icon pack name (app package) 

      packIcon = (IconPackManager.IconPack)pair.getValue(); //Get icons 

      if(packIcon.getDrawableIconForPackage("YourTargetPackageName", yourStandardIcon) != null) { 

      //Your own method for set icon 
      setIcon(packIcon.getDrawableIconForPackage("YourTargetPackageName", yourStandardIcon)); 

      }else{ 
       //Your own method for set icon 
       setIcon(yourStandardIcon); 
      } 
     } 
2

該作品只有在安裝了以下任何一種包裝的情況下,

1)是否安裝了?

org.adw.launcher.THEMES 
com.gau.go.launcherex.theme 

getAvailableIconPacks應返回的HashMap大小> 0

2)低於返回有效抽拉或空?

d = packIcon.getDrawableIconForPackage(packName, iconDrawable); 

你的情況的用法是錯誤的。

您正在迭代擲圖標商包names.SO在下面情況下,你所要求的

d = packIcon.getDrawableIconForPackage(packName, iconDrawable); 
//means 
//d = packIcon.getDrawableIconForPackage("org.adw.launcher.THEMES",conDrawable) 

所以沒有從谷歌上述主題安裝播放只返回默認可繪製。

+0

方法檢查是否(!mLoaded)load();之前得到drawable ...所以它不起作用 –

+0

我想在我的自定義啓動器上安裝圖標包(從谷歌播放下載),沒有ADW或GO,這是我的發射器! getDrawableIconForPackage返回「Pack Icon App」圖標 –

+0

,但IconPackManager將無法使用org.adw.launcher.THEMES com.gau.go.launcherex.theme –

相關問題