java - android icon pack 2018




カスタムランチャーにアイコンパックをインストールするには? (2)

私はカスタムランチャーにアイコンパックをインストールしようとしています。このノートを読んでいます。アイコンパックをインストールする方法はありますが、そのクラスの使い方を理解できません。

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);
    }

これで解決される:

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);
            }
        }

これは、以下のいずれかのパッケージがインストールされている場合にのみ動作します。

1)それはインストールされていますか?

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

getAvailableIconPacksはHashMapのサイズ> 0を返します。

2)は、有効なドロウアブルまたはヌルを返していますか?

 d = packIcon.getDrawableIconForPackage(packName, iconDrawable);

あなたの場合、使い方が間違っています。

あなたは反復アイコンプロバイダのパッケージ名を以下のようにしています。

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

Googleのテーマをインストールすることなく、デフォルトのドロアブルのみを返します。





android-launcher