微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我的应用程序有一个标识,我可以做黑色或白色.我指定的启动器图标是黑色的,我想保持它的颜色.但是,我的应用程序使用的是黑色主题,最近的应用程序堆栈中应用程序标题栏的颜色也是黑色.黑色标题栏上的黑色图标看起来很丑,特别是在白色文本旁边.这是一个帮助解释的屏幕截图:

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

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

解决方法

是的,从API 21转发开始,我们可以选择使用 TaskDescription API在“最近的应用”屏幕中自定义应用的表示.

如果您只关心图标,则可以在活动中的任何位置使用此代码段:

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关于这个问题的精彩文章所引述:

By default,the TaskDescription is based on the activity at the base of the task’s activity stack. Other activities that pile on will not affect the styling,unless those activities have a TaskDescription explicitly set at run time. The topmost activity with a TaskDescription explicitly set will trump the styling specified in the manifest or in activities below in the stack with TaskDescriptions set.

因此,为了获得最佳结果,您可能希望将该代码段放在应用程序的MainActivity的onCreate(..)方法中.

原文地址:https://www.jb51.cc/android/317736.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐