2017-03-23 2 views
1

J'ai un MainActivity avec beaucoup de Fragment s et dans un fragment spécifique que je veux dessiner derrière la barre système, donc j'application lors de l'exécution du drapeau suivant:Retirer FLAG_TRANSLUCENT_STATUS lors de l'exécution

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
     getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
    } 

Ce que je veux maintenant est quand l'utilisateur quitte ce Fragment et en entre un autre pour supprimer ce drapeau afin qu'il n'y ait pas de contenu derrière la barre d'état. J'ai essayé de passer null comme arguments à la méthode setFlags() mais cela donne une erreur. J'ai recherché des méthodes remove() ou unSet() mais aucune n'existe. Alors, comment dois-je retirer ce drapeau pour un autre Fragment?

Répondre

1
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
0

Puisque vous utilisez Fragment -

vous devriez aller -

getActivtiy().getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); 
+0

Ok! Quel est le problème avec Downvoter? – Wizard

+0

Dunno..I mis à jour mais marqué comme correct l'autre réponse car il était plus rapide. Merci – Mes