2017-03-12 33 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 –

相关问题