0
votes

Comment changer la couleur par défaut sur un seul XML / activité

Sur la base de ma question, comment passer de la couleur bleue (marquée) à la couleur blanche sans masquer l'état de la batterie et le wifi. Ci-dessous, le XML actuel ressemble à

 Main

Quelqu'un peut-il vous aider?


1 commentaires

L'état de la batterie, l'heure, le wifi sont tous en blanc, ce qui rend le fond blanc, ces choses ne seront pas visibles.


3 Réponses :


1
votes

Si vous souhaitez modifier la couleur de la barre d'état par programme (et à condition que l'appareil dispose d'Android 5.0 ou supérieur), vous pouvez utiliser Window.setStatusBarColor()

Essayez simplement de faire: p >

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    Window window = getWindow();
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.setStatusBarColor(Color.BLUE);
}


0 commentaires

1
votes

Vous pouvez le faire par programmation ou mettre à jour les couleurs XML selon votre choix.

En utilisant XML:

Vous pouvez créer un nouveau thème dans res / values ​​/ styles.xml où vous modifierez le " colorPrimaryDark "qui est la couleur de la barre d'état:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    getWindow().setStatusBarColor(getResources().getColor(R.color.colorBlue, this.getTheme()));
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    getWindow().setStatusBarColor(getResources().getColor(R.color.colorBlue));
}

Et modifiez le thème d'activité dans AndroidManifest.xml pour celui que vous voulez, sur l'activité suivante, vous pouvez changer la couleur revenir à l'original en sélectionnant le thème d'origine:

window.statusBarColor = ContextCompat.getColor(this, R.color.colorBlue)

Voici à quoi devrait ressembler votre res / values ​​/ colors.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#3F51B5</color>
    <color name="colorPrimaryDark">#303F9F</color>
    <color name="colorAccent">#c6d6f0</color>
    <color name="colorBlue">#757575</color>
</resources>


0 commentaires

1
votes

Voici le jet de code de code que vous pouvez modifier la couleur de votre barre d'état et la couleur d'objet ou de texte de la barre d'état

Ajouter un code ci-dessous Vos valeurs-v21 / styles.xml, ceci fonctionnera à partir de Lollipop (5.0) xxx

StatusBarcolor Modifier la couleur de la barre d'état et WindowLightstatusBar changera la couleur du texte ou de l'objet à partir d'une barre d'état comme si vous définissez windowlightstatusbar comme vrai, alors la police et l'objet seront blanches ou légers identiques que si vous définissez False, il sera sombre


0 commentaires