2017-01-02 1 views
3

Après avoir testé mon application sur un HUAWEI Y538, j'ai remarqué quelque chose de bizarre: la barre d'état est montrant un gradient étrange plutôt que la couleur que j'ai l'intention . J'ai une méthode assez simple pour fixer la barre d'état dans ma classe d'activité de base, qui est la suivante:couleur de la barre d'état Changement sur l'appareil HUAWEI ne fonctionne pas (niveau de l'API 22)

protected void setStatusBarColor(int color) { 
    Window window = getWindow(); 
    if (Build.VERSION.SDK_INT > 20) { 
     window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 
     window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
     window.setStatusBarColor(color); 
    } 
} 

Bien que, pour une raison quelconque, cela ne fonctionne pas sur le téléphone HUAWEI. Quelqu'un a-t-il une idée de la raison pour laquelle cela pourrait se produire? Merci d'avance!!

Répondre

1

C'est la faute de l'OS sur votre téléphone, et il n'y a pas grand chose à faire à ce sujet. Huawei n'a pas implémenté Lollipop 5.1.1 dans EMUI 3.1, ou plutôt d'après ce que je comprends d'autres utilisateurs et développeurs (voir here, par exemple), il n'est pas implémenté de manière cohérente, car différentes applications peuvent provoquer des effets imprévisibles, tels que comme celui que vous décrivez. This answer offre une solution du côté de l'utilisateur, mais je ne trouve rien qui permette à un développeur d'appliquer des couleurs.