我的应用有一个徽标,可以将其制成黑色或白色。我指定的启动器图标为黑色,我想保持其颜色不变。但是,我的应用程序使用的是深色主题,最近使用的应用程序堆栈中应用程序标题栏的颜色也是黑色。黑色标题栏上的黑色图标看起来很难看,尤其是在白色文本旁边。这是帮助说明的屏幕截图:android - 我可以为Android任务切换器设置其他图标吗?-LMLPHP

是否可以为启动器和任务切换器指定其他图标?

编辑:我看到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)在这件事上的出色文章所引述的那样:



因此,为了获得可能的最佳结果,您需要将该代码段放入应用程序的MainActivityonCreate(..)方法中。

10-07 13:00
查看更多