更改默认系统应用程序图标

时间:2013-09-07 06:02:54

标签: android android-launcher android-icons

我遇到了一个名为Nova Launcher的启动器应用程序,它提供了更改外观和选项的选项。感觉系统应用程序到另一个图标包,下面是nova启动器的截图。

shcreenshot from nova launcher

当我选择 stock jellybean 时,它会将系统应用程序图标替换为jellbean图标包。

我想在我自己的启动器应用程序中实现相同的功能,我谷歌但没有找到任何相关的,需要指导和建议。

我尝试设置Example-theme只是更改包名称,但它会让我强制关闭com.mypackagename not found

主要活动@

private static final String ACTION_APPLY_ICON_THEME = "com.mypackage.launcher.APPLY_ICON_THEME";
    private static final String NOVA_PACKAGE = "com.mypackage.launcher";
    private static final String EXTRA_ICON_THEME_PACKAGE = "com.mypackage.launcher.extra.ICON_THEME_PACKAGE";

//    private static final String ACTION_APPLY_ICON_THEME = "com.teslacoilsw.launcher.APPLY_ICON_THEME";
//    private static final String NOVA_PACKAGE = "com.teslacoilsw.launcher";
//    private static final String EXTRA_ICON_THEME_PACKAGE = "com.teslacoilsw.launcher.extra.ICON_THEME_PACKAGE";

我只是在寻找一种方法,我应该在自己的启动器中管理或编码,以设置与nova启动器相同的主题。

以下链接可帮助我为启动器创建主题,但找不到设置/应用于启动器的任何方法。

Launcher Theme Tutorial

Example-theme

你的建议很明显。

1 个答案:

答案 0 :(得分:4)

先生。罗宾是对的..你可以手动做..

将所有自定义图标放在具有特定名称的可绘制文件夹中,例如icon_appname.png ..

icon_contacts.png,icon_camera.png,icon_settings.png,icon_phone.png,icon_email.png ......等

或者您也可以将图像保存为包名称,如 icon_com_android_camera.png ...等

将条件放在适配器类的GetView中。

        if(User selected default theme)
        {
        //use default icon from system
        }
        else
        {
            String appname = here is app name;
            String appPackageName = here is app package name;
            // You can use appname or appPackageName as per your drawable name.
            int intResource = getResources().getIdentifier("icon_" + appname.toLowerCase(), "drawable", getPackageName());
            if(intResNormal!=0)
                holder.txtTitle.setCompoundDrawablesWithIntrinsicBounds(null, getResources().getDrawable(intResource), null, null);
            else
                //use default icon when no resource found
        }

注意: 如果您关注包名称,请不要忘记将“_”替换为“。”