it-swarm.com.de

Android Lollipop Farbe der Navigationsleiste ändern

In meiner App muss ich die Farbe der unteren Navigationsleiste ändern. Ich habe viele Beiträge angeschaut, aber ich kann die Lösung nicht finden. Ich verwende die appCompat-Bibliothek . Benötige bitte Hilfe. Danke im Voraus.

enter image description here

v21/styles.xml

<style name="AppTheme" parent="Theme.AppCompat.Light">
       <item name="Android:windowBackground">@drawable/bgpreview</item>
       <item name="Android:colorPrimary">@color/MyColor</item>
       <item name="Android:colorPrimaryDark">@color/MyColor</item>
       <item name="Android:windowContentOverlay">@null</item>
       <item name="Android:textColorPrimary">@color/MyColor</item>
       <item name="colorAccent">@color/MyColor</item>
       <!-- darker variant for the status bar and contextual app bars -->
       <item name="Android:windowContentTransitions">true</item>
       <item name="Android:windowAllowEnterTransitionOverlap">true</item>
       <item name="Android:windowAllowReturnTransitionOverlap">true</item>
       <item name="Android:windowSharedElementEnterTransition">@Android:transition/move</item>
       <item name="Android:windowSharedElementExitTransition">@Android:transition/move</item>

       <item name="windowActionBar">false</item>
       <item name="Android:textAllCaps">false</item>

</style>
90
user3065901

Dies kann in styles.xml mit geschehen

<item name="Android:navigationBarColor">@color/theme_color</item>

oder 

window.setNavigationBarColor(@ColorInt int color)

http://developer.Android.com/reference/Android/view/Window.html#setNavigationBarColor(int)

Beachten Sie, dass die Methode in Android Lollipop eingeführt wurde und mit API-Version <21 nicht funktioniert.

Die zweite Methode (funktioniert mit KitKat) besteht darin, windowTranslucentNavigation im Manifest auf true zu setzen und eine farbige Ansicht unter der Navigationsleiste zu platzieren.

159
Zielony

So macht man es programmgesteuert: 

if (Android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.Lollipop) {                
   getWindow().setNavigationBarColor(getResources().getColor(R.color.your_awesome_color));
}

Compat-Bibliothek verwenden:

if (Android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.Lollipop) {
    getWindow().setNavigationBarColor(ContextCompat.getColor(this, R.color.primary));
}

So machen Sie es mit xml im Ordner values-v21/style.xml:

<item name="Android:navigationBarColor">@color/your_color</item>
60
Bolling

Hier sind einige Möglichkeiten, die Farbe der Navigationsleiste zu ändern.

Nach XML

1- values-v21/style.xml

<item name="Android:navigationBarColor">@color/navigationbar_color</item>

Oder wenn Sie nur die Werte/den Ordner verwenden möchten, dann -

2 Werte/style.xml

<resources xmlns:tools="http://schemas.Android.com/tools">

<item name="Android:navigationBarColor" tools:targetApi="21">@color/navigationbar_color</item>

Sie können auch die Farbe der Navigationsleiste durch Programmierung ändern.

 if (Build.VERSION.SDK_INT >= 21)
    getWindow().setNavigationBarColor(getResources().getColor(R.color.navigationbar_color));

Mit Compat Library-

if (Build.VERSION.SDK_INT >= 21) {
    getWindow().setNavigationBarColor(ContextCompat.getColor(this, R.color.primary));
}

bitte finden Sie den Link für weitere Details- http://developer.Android.com/reference/Android/view/Window.html#setNavigationBarColor(int)

28
D_Alpha

Sie können die folgende Zeile im Ordner values-v21/style.xml hinzufügen:

<item name="Android:navigationBarColor">@color/theme_color</item>
8
Pratik Butani

Sie können Ihr Design auch mit dem Design-Editor ändern, indem Sie auf Folgendes klicken:

Extras -> Android -> Theme-Editor

Dann müssen Sie nicht einmal zusätzlichen Inhalt in Ihre .xml- oder .class-Dateien einfügen.

1
Lelouch

Sie können es direkt in styles.xml file\app\src\main\res\values ​​\ styles.xml ändern

Diese Arbeit an älteren Versionen habe ich in KitKat geändert und komme hierher.

0
  1. Schwarze Farbe erstellen: <color name="blackColorPrimary">#000001</color> (not #000000)
  2. Schreiben Sie mit Stil: <item name="Android:navigationBarColor" tools:targetApi="Lollipop">@color/blackColorPrimary</item>

Problem ist, dass Android höhere Version für # 000000 durchsichtig machen

0
Fariz Agayev