it-swarm.dev

Wie kann ich die Statusleiste mit schwarzen Symbolen weiß machen?

Ich möchte die Farbe der Statusleiste für meine App so ändern, dass sie weiß mit schwarzen Symbolen ist (anstelle des Standardschwarzes mit weißen Symbolen). Gibt es eine Möglichkeit, dies zu tun?

36
Jon

Mit Android M (API-Ebene 23) können Sie dies mit dem Android:windowLightStatusBar-Attribut aus dem Thema erreichen.

Bearbeiten: 

Genau wie Pdroid erwähnt, kann dies auch programmgesteuert erreicht werden:

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); 
64
wrecker

Es ist möglich, die weiße Statusleiste mit grauen Symbolen zu versehen, z. dieser Weg für SDK> = 23:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="Android:windowLightStatusBar">true</item>
</style>

in Ihrer styles.xml und setzen Sie die colorPrimary auf weiß oder programmatisch: 

getWindow().setStatusBarColor(Color.WHITE);
15
Rammgarot

Gerade hinzugefügt zu meiner Aktivität auf Kotlin:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                window.decorView.systemUiVisibility =View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
                window.statusBarColor = Color.WHITE
            }
7
Serg Burlaka

Keine Möglichkeit, dies zu tun, es sei denn, Sie haben die Kontrolle über die gesamte ROM, um dies manuell anzupassen. Was ich Ihnen vorschlagen möchte, ist, eine hellgraue Farbe für die Statusleistenfarbe durch Ihr Design zu verwenden, wie dies bei Google Drive der Fall ist. 

Bearbeiten: Bitte beziehen Sie sich auf @Wrekcker Antwort, da sich dies in Android M geändert hat.

2
k0sh

fügen Sie dies einfach zu Ihrem Stil hinzu

<item name="Android:windowDrawsSystemBarBackgrounds">true</item>
<item name="Android:statusBarColor">@Android:color/transparent</item>

set Android: windowDrawsSystemBarBackgrounds bis true * ..__ Dies ist eine Flagge, deren Beschreibung unten angegeben ist:

Flag, das angibt, ob dieses Fenster für das Zeichnen des Hintergrunds für die Systemleisten verantwortlich ist. Wenn true und das Fenster nicht schwebend ist, werden die Systemleisten mit einem transparenten Hintergrund gezeichnet und die entsprechenden Bereiche in diesem Fenster werden mit den in {@link Android.R.attr # statusBarColor} und {@link Android.R angegebenen Farben gefüllt .attr # navigationBarColor}. Entspricht {@link Android.view.WindowManager.LayoutParams # FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS}.