2014-10-23 1 views
13

Кажется, что переход между Theme.AppCompat.Light.DarkActionBar и Theme.AppCompat.Light не влияет на цвет текста и кнопку «закрыть» внутри меню «Отдыха». colorPrimary изменяет цвет заголовка, но текст и кнопка всегда черные. Есть идеи?Android Lollipop recents/multitasking header styling, текст всегда черный

ответ

14

Насколько я могу вам сообщить не может изменить цвет текста ярлыка и закрыть кнопку, потому что он автоматически устанавливается системой. Единственное, что вы можете контролировать это значок, бар цвет и текст метки с помощью:

Activity.setTaskDescription(new ActivityManager.TaskDescription(label, icon, color)); 

Вы можете проверить и посмотреть, как система автоматически выбирает ярлык и закрыть кнопки цвета путем подачи темного или светлого цвета для вышеуказанная функция (т. е. установите ее на черный, текст будет белым и наоборот).

Docs: 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)

- EDIT - Вот более подробную информацию о том, как платформа определяет цвет текста для задач.

Приложение SystemUI отображает недавний пользовательский интерфейс задачи. У него есть модель задачи Task.java:156, которая определяет, будет ли контраст между вашим цветомPrimary (указанным в описании задачи) и белым над 3, будет использовать светлый цвет. См. Utilities.java:119 о том, как выполняется сравнение контраста.

Цвет текста, используемый для светлых и темных, можно найти здесь, в SystemUI's colors.xml.

+0

Как вы можете убедиться, что цвет текста белый? –

7

r0adkll's answer является правильным в том, что с помощью Activity.setTaskDescription() дает вам контроль над цветом фона, значок (который должен быть квадратной или иначе она растягивается) и этикетку. Если вы не вызываете Activity.setTaskDescription() вообще, хотя, и пусть стиль системы в Недавнем заголовке сам, он будет делать следующее:

  • Значок будет значком своей деятельности, как установлено android:icon в манифесте (неandroid:logo)
  • ярлык будет ярлык своей деятельности, как установлено android:label в проявленном цвета
  • фон будет theme «s android:colorPrimary

Цвет ярлыка (и кнопки закрытия) будет светлым или темным в зависимости от того, насколько темный или светлый фон. Невозможно изменить шрифт этикетки.