似乎在Theme.AppCompat.Light.DarkActionBar和Theme.AppCompat.Light之间切换对文本颜色和最近菜单中的“关闭”按钮没有影响。 colorPrimary
更改标题颜色,但文本和按钮始终为黑色。有什么想法吗?
答案 0 :(得分:14)
据我所知,不能更改标签文字和关闭按钮的颜色,因为它是由系统自动设置的。您可以控制的唯一内容是图标,条形颜色和标签文字:
Activity.setTaskDescription(new ActivityManager.TaskDescription(label, icon, color));
您可以测试并查看系统如何通过向上述功能提供暗色或浅色来自动选择标签和关闭按钮颜色(即将其设置为黑色,文本将为白色,反之亦然)。
文件:https://developer.android.com/about/versions/android-5.0.html#Recents
Javadocs:https://developer.android.com/reference/android/app/Activity.html#setTaskDescription(android.app.ActivityManager.TaskDescription)
- 编辑 - 以下是有关平台如何确定任务文本颜色的更多详细信息。
SystemUI应用程序显示最近的任务UI。它有一个任务模型Task.java:156,它可以检测你的colorPrimary(在任务描述中指定)与白色之间的对比度是否高于3它将使用浅色。有关对比度计算的完成情况,请参阅Utilities.java:119。
可以在SystemUI' s colors.xml中找到用于明暗的文本颜色。
答案 1 :(得分:9)
r0adkll's answer是正确的,因为使用Activity.setTaskDescription()
可以控制背景颜色,图标( 应该是正方形还是拉伸)和标签。如果你根本不打电话给Activity.setTaskDescription()
,并让系统自己调整最近的标题,它将执行以下操作:
android:icon
设置的活动图标(不 android:logo
)android:label
设置的活动标签android:colorPrimary
标签(和关闭按钮)颜色将是浅色或深色,具体取决于背景的暗度或亮度。无法更改标签的字体。