android – 更改默认系统应用程序图标
作者:互联网
我遇到了一个名为Nova Launcher的启动器应用程序,它提供了改变外观和选项的选项.感觉系统应用程序到另一个图标包,下面是nova启动器的截图.
当我选择stock jellybean时,它会将系统应用程序图标替换为jellbean图标包.
我想在我自己的启动器应用程序中实现相同的功能,我谷歌但没有找到任何相关的,需要指导和建议.
我试图设置Example-theme只是更改包名称,但它给我强制关闭com.mypackagename未找到.
主要活动@
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启动器相同的主题.
下面的链接帮助我为启动器创建主题,但没有找到任何设置/应用于我的启动器的方法.
你的建议很明显.
解决方法:
罗宾先生是对的..你可以手动做..
将所有自定义图标放在具有特定名称的可绘制文件夹中,如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
}
注意:
如果您关注包名称,请不要忘记将“_”替换为“.”
标签:android,android-icons,android-launcher 来源: https://codeday.me/bug/20190624/1282476.html