Je souhaite modifier la couleur de la barre d'état de mon application afin qu'elle soit blanche avec des icônes noires (au lieu du noir par défaut avec des icônes blanches) Y a-t-il une manière de faire ça?
Avec Android M (niveau d'api 23), vous pouvez y parvenir à partir d'un thème doté de l'attribut Android:windowLightStatusBar
.
Modifier :
Comme Pdroid l’a mentionné, ceci peut également être réalisé par programme:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
Il est possible d’afficher la barre d’état blanche avec des icônes grises, par exemple. de cette façon pour SDK> = 23:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="Android:windowLightStatusBar">true</item>
</style>
dans votre styles.xml et définissez la colorPrimary
sur blanc ou par programme:
getWindow().setStatusBarColor(Color.WHITE);
Je viens d’ajouter à mon activité sur Kotlin:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
window.decorView.systemUiVisibility =View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
window.statusBarColor = Color.WHITE
}
Aucune façon de le faire sauf si vous avez le contrôle de l’ensemble de la rom pour le personnaliser manuellement. Ce que je vous suggère de faire est d’utiliser une couleur gris clair pour la couleur de la barre d’état dans votre thème, comme le fait Google Drive.
Edit: s'il vous plaît se référer à @Wrekcker répondre comme cela a changé dans Android M.
il suffit d'ajouter ceci à votre style
<item name="Android:windowDrawsSystemBarBackgrounds">true</item>
<item name="Android:statusBarColor">@Android:color/transparent</item>
set Android: windowDrawsSystemBarBackgrounds to true * . Il s'agit d'un drapeau dont la description est donnée ci-dessous:
Indicateur indiquant si cette fenêtre est chargée de dessiner l’arrière-plan des barres système. Si la valeur est true et que la fenêtre n'est pas flottante, les barres système sont dessinées avec un arrière-plan transparent et les zones correspondantes de cette fenêtre sont remplies des couleurs spécifiées dans {@link Android.R.attr # statusBarColor} et {@link Android.R. .attr # navigationBarColor}. Correspond à {@link Android.view.WindowManager.LayoutParams # FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS}.