Кажется, что переход между Theme.AppCompat.Light.DarkActionBar и Theme.AppCompat.Light не влияет на цвет текста и кнопку «закрыть» внутри меню «Отдыха». colorPrimary
изменяет цвет заголовка, но текст и кнопка всегда черные. Есть идеи?Android Lollipop recents/multitasking header styling, текст всегда черный
ответ
Насколько я могу вам сообщить не может изменить цвет текста ярлыка и закрыть кнопку, потому что он автоматически устанавливается системой. Единственное, что вы можете контролировать это значок, бар цвет и текст метки с помощью:
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.
r0adkll's answer является правильным в том, что с помощью Activity.setTaskDescription()
дает вам контроль над цветом фона, значок (который должен быть квадратной или иначе она растягивается) и этикетку. Если вы не вызываете Activity.setTaskDescription()
вообще, хотя, и пусть стиль системы в Недавнем заголовке сам, он будет делать следующее:
- Значок будет значком своей деятельности, как установлено
android:icon
в манифесте (неandroid:logo
) - ярлык будет ярлык своей деятельности, как установлено
android:label
в проявленном цвета - фон будет theme «s
android:colorPrimary
Цвет ярлыка (и кнопки закрытия) будет светлым или темным в зависимости от того, насколько темный или светлый фон. Невозможно изменить шрифт этикетки.
Как вы можете убедиться, что цвет текста белый? –