Je me demandais s'il était possible de changer la couleur des icônes de la barre d'état ( pas la couleur de la barre d'état colorPrimaryDark
)
Disons que je veux cette barre d'état avec:
<item name="colorPrimaryDark">@android:color/white</item>
et les icônes en noir, est-ce possible?
Merci.
ÉDITER:
Nouveau dans l'aperçu du développeur M: windowLightStatusBar. Activer ceci dans votre thème indique au système d'utiliser un premier plan sombre, utile pour les barres d'état de couleur plus claire. Notez que l'aperçu M semble avoir un bogue où les icônes de notification restent blanches, tandis que les icônes d'état du système passent correctement en noir semi-transparent.
de: Roman Nurik Google+ post
<item name="android:windowLightStatusBar">true</item>
travaillé pour moi.Oui, il est possible de le changer en gris (pas de couleurs personnalisées) mais cela ne fonctionne qu'à partir de l'API 23 et au-dessus, il vous suffit de l'ajouter dans votre values-v23 / styles.xml
la source
@eOnOe a répondu comment nous pouvons changer la teinte de la barre d'état via XML. Mais on peut aussi le changer dynamiquement dans le code:
la source
si vous avez un niveau d'API inférieur à 23, vous devez l'utiliser de cette façon. cela a fonctionné pour moi déclarer cela sous v21 / style .
la source
tools:targetApi="23"
pièce indique à Lint de supprimer cet avertissement.Réglage
windowLightStatusBar
detrue
ne pas fonctionne avec les téléphones Mi, certains téléphones Meizu, téléphones Blackview, WileyFox etc. J'ai trouvé cette astuce pour les appareils Mi et Meizu. Ce n'est pas une solution globale à ce problème de performance, mais peut-être que cela serait utile à quelqu'un.Et je pense qu'il serait préférable de dire à votre client que la coloration de la barre d'état (par exemple) en blanc - n'est pas une bonne idée. au lieu d'utiliser différents hacks, il serait préférable de définir comme approprié
colorPrimaryDark
selon les directivesla source
Oui, vous pouvez le changer. mais dans l'API 22 et au-dessus, en utilisant NotificationCompat.Builder et setColorized (true):
la source