Android Lollipop recents / style d'en-tête multitâche, texte toujours noir

Il semble changer de Theme.AppCompat.Light.DarkActionBar et Theme.AppCompat.Light n'a aucun effet sur la couleur du texte et le bouton "Fermer" dans le menu des recents. colorPrimary modifie la couleur de l'en-tête, mais le texte et le bouton sont toujours noirs. Des idées?

  • Android - Comment obtenir une liste de paramètres AudioManager / AudioSystem
  • Un projet avec ce nom existe déjà dans l'eclipse de l'espace de travail
  • Appel d'API pour obtenir l'architecture du processeur
  • RecycleView affiche uniquement le premier élément
  • Comment puis-je rendre inactif un look d'état de "désactivé" de Spinner?
  • Comment afficher la boîte de dialogue de progression avant de lancer une activité dans Android?
  • Comment télécharger des fichiers d'extension d'apk dans la nouvelle console de développeur
  • Collage dans Genymotion Android Emulator
  • Http Status Code dans Android Volley lorsque error.networkResponse est nul
  • Problème de performance mobile Google Maps API Javascript
  • ActionBar Action Items not showing
  • Cordova - Code d'erreur 1 pour la commande | La commande a échoué pour
  • 2 Solutions collect form web for “Android Lollipop recents / style d'en-tête multitâche, texte toujours noir”

    Pour autant que je puisse vous dire, vous ne pouvez pas modifier la couleur du texte de l'étiquette et le bouton Fermer, car il est automatiquement configuré par le système. Les seules choses que vous pouvez contrôler sont l'icône, la couleur de la barre et le texte de l'étiquette via:

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

    Vous pouvez tester et voir comment le système choisit automatiquement l'étiquette et fermez les couleurs des boutons en fournissant une couleur sombre ou claire à la fonction ci-dessus (c'est-à-dire la mettre en noir, le texte sera blanc et vice versa).

    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 – Voici plus de détails sur la façon dont la plate-forme détermine la couleur du texte pour les tâches.

    L'application SystemUI montre l'UI de la tâche récente. Il a un modèle de tâche Task.java:156 qui détecte si le contraste entre votre colorPrimary (spécifié dans la description de la tâche) et le blanc est au-dessus de 3, il utilisera la couleur claire. Voir Utilities.java:119 sur la façon dont le calcul du contraste est terminé.

    Les couleurs de texte utilisées pour la lumière et l'obscurité se trouvent ici dans colors.xml de SystemUI .

    La réponse de r0adkll est correcte puisque l'utilisation de Activity.setTaskDescription() vous permet de contrôler la couleur d'arrière-plan, l'icône (qui doit être carrée ou autrement étirée) et l'étiquette. Si vous n'appeliez pas Activity.setTaskDescription() à tous, et que le style de système inclut l'en-tête Recents, il effectuera les opérations suivantes:

    • L'icône sera l'icône de l'activité définie par android:icon dans le manifeste ( pas sur android:logo )
    • L'étiquette sera l'étiquette de l'activité définie par android:label dans le manifeste
    • La couleur d'arrière-plan sera l' android:colorPrimary du thème android:colorPrimary

    La couleur de l'étiquette (et le bouton de fermeture) sera légère ou sombre selon l'obscurité ou la lumière du fond. Il n'y a aucun moyen de modifier la police de caractères de l'étiquette.

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.