我的应用有一个徽标,可以将其制成黑色或白色。我指定的启动器图标为黑色,我想保持其颜色不变。但是,我的应用程序使用的是深色主题,最近使用的应用程序堆栈中应用程序标题栏的颜色也是黑色。黑色标题栏上的黑色图标看起来很难看,尤其是在白色文本旁边。这是帮助说明的屏幕截图:
是否可以为启动器和任务切换器指定其他图标?
编辑:我看到Chrome做到了这一点:它将其任务切换器图标更改为当前站点的收藏夹图标,因此,除非该API是私有(private)的,否则我绝对知道这是可能的。
最佳答案
是的,从API 21开始,我们可以选择使用 TaskDescription
API在“最近使用的应用程序”屏幕中自定义应用程序的表示形式。
如果您只关心图标,则可以在Activity
内的任何地方使用以下代码段:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
setTaskDescription(
new ActivityManager.TaskDescription(
null, // Leave the default title.
R.drawable.the_icon_you_want,
null // Leave the default color
)
}
但是,您必须记住,“最近使用的应用程序”屏幕上的应用程序演示文稿是由您设置的最后一个
TaskDescription
决定的。正如大 Nerd 牧场(Great Nerd Ranch)在这件事上的出色文章所引述的那样:
因此,为了获得可能的最佳结果,您需要将该代码段放入应用程序的
MainActivity
的onCreate(..)
方法中。