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?

  • Comment créer Celestia sur Android?
  • Comment contrôler ListView avec le modèle MVP pour Android
  • Est-il possible d'appliquer une clé primaire sur les champs de texte dans la base de données Android
  • Comment mettre le texte dans un tiroir?
  • Android: AppWidget avec la vue personnalisée ne fonctionne pas
  • Android Custom View affiche un noir solide après l'appel invalide
  • Ne souhaite pas que le clavier doux s'affiche automatiquement lors du lancement - Android
  • Thème par défaut d'Android
  • Est-ce qu'il y a lieu d'écrire des applications Android en PHP?
  • Comment appeler méthode dans la forme d'activité non classe d'activité
  • Vue de galerie personnalisée dans Android
  • ACTION_MY_PACKAGE_REPLACED non reçu
  • 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.