我可以为android任务切换器设置不同的图标吗?

时间:2016-02-13 18:24:19

标签: android icons

我的应用程序有一个徽标,我可以制作黑色或白色。我指定的启动器图标是黑色的,我想保持它的颜色。但是,我的应用程序使用的是黑色主题,最近的应用程序堆栈中应用程序标题栏的颜色也是黑色。黑色标题栏上的黑色图标看起来很难看,特别是在白色文字旁边。以下是帮助解释的屏幕截图:Ugly color combination

是否可以为启动器和任务切换器指定不同的图标?

编辑:我看到Chrome执行此操作:它将其任务切换器图标更改为当前网站的图标,因此除非该API是私密的,否则我明确知道这是可能的。

1 个答案:

答案 0 :(得分:1)

是的,从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

引自Big Nerd Ranch关于此事的精彩文章:

  

默认情况下,TaskDescription基于任务活动堆栈底部的活动。堆积的其他活动不会影响样式,除非这些活动在运行时明确设置了TaskDescription。显式设置了TaskDescription的最顶层活动将使用TaskDescriptions设置优先于清单或下面活动中指定的样式。

因此,为了获得最佳效果,您需要将该代码段放在应用的MainActivity onCreate(..)方法中。