Подтвердить что ты не робот

Android Lollipop recents/многозадачный стиль заголовка, текст всегда черный

Кажется, что переход между Theme.AppCompat.Light.DarkActionBar и Theme.AppCompat.Light не влияет на цвет текста и кнопку "закрыть" внутри меню "Отдыха". colorPrimary изменяет цвет заголовка, но текст и кнопка всегда черные. Любые идеи?

4b9b3361

Ответ 1

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

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)

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

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

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

Ответ 2

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

  • Значок будет значком активности, установленным android:icon в манифесте ( не android:logo)
  • Метка будет ярлыком активности, установленным android:label в манифесте
  • Цвет фона будет android:colorPrimary

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