Używam android.support.v7.widget.Toolbar i dowiedziałem się z tego postu, jak zmienić kolor ikony hamburgera na biały, ale strzałka w górę / w tył pozostaje ciemna, kiedy dzwonię
setDisplayHomeAsUpEnabled(true);
Jak mogę również uczynić strzałkę białą?
Oto jak wygląda mój pasek narzędzi, gdy wywołuję setDisplayHomeAsUpEnabled ():
... a oto odpowiednia część mojego pliku styles.xml:
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimary">@color/primary</item>
<item name="colorPrimaryDark">#194C5F</item>
<item name="colorAccent">@color/accent</item>
<item name="drawerArrowStyle">@style/WhiteDrawerIconStyle</item>
</style>
<style name="WhiteDrawerIconStyle" parent="Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="color">@android:color/white</item>
</style>
android
icons
toolbar
android-support-library
Joshua W.
źródło
źródło
colorControlNormal
wartośćOdpowiedzi:
Rozwiązałem to, edytując styles.xml:
... następnie odwołując się do stylu w definicji paska narzędzi w działaniu:
źródło
colorControlNormal
zamiast tegoandroid:textColorSecondary
Oto, czego szukasz. Ale to również zmienia kolor radioButton itp. Więc możesz użyć do tego motywu.
źródło
Rozwiązałem to programowo za pomocą tego kodu:
Wersja 1:
Począwszy od API 23 (Marshmallow) zasób do rysowania
abc_ic_ab_back_mtrl_am_alpha
jest zmieniany naabc_ic_ab_back_material
.źródło
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Fragment
? Jeśli tak, gdzie miałbym umieścić ten kod?OnCreateView
Metoda, korzeń tej klasy, czy ...?Ta odpowiedź może za późno, ale oto jak to robię. Stylizowanie paska narzędzi wystarczy. Utwórz toolbar.xml z następującym kodem.
oraz w styles.xml
Na koniec umieść pasek narzędzi w układzie
źródło
Zmień motyw paska narzędzi Toolbar na ThemeOverlay.AppCompat.Dark
i uruchom go
źródło
Za późno na publikację. Pomogło mi to zmienić kolor przycisku Wstecz
źródło
Jest na to łatwiejszy sposób
I wtedy
źródło
Zamiast zmieniać styl, po prostu umieść te dwa wiersze kodu w swoim działaniu.
źródło
Oto moje rozwiązanie:
Lub, jeśli chcesz użyć do tego fajnej funkcji:
Stosowanie:
źródło
Ten kod działa dla mnie:
Ponadto, jeśli chcesz zmienić kolor tekstu paska narzędzi:
Działa od API 19 do 25.
źródło
Zamiast używać starszego identyfikatora do rysowania „ abc_ic_ab_back_material ”, użyj nowego abc_ic_ab_back_material w każdej wersji interfejsu API. Przetestowałem to w 19, 21, 27 i działam dobrze z poniższym kodem i konfiguracją.
compileSdkVersion = 27
}
źródło
Spróbuj: Ustaw motyw paska narzędzi w swoim układzie w następujący sposób
Jeśli chcesz uzyskać więcej informacji
Ciekawy przypadek Overflow Icon Color autorstwa Martina Bonnina
źródło