Tło paska narzędzi jest ciemne, chcę, aby tekst i strzałka wstecz były białe. Próbowałem śledzić, ale to nie działa.
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/blue</item>
<item name="colorPrimaryDark">@color/blue_darker</item>
<item name="colorAccent">@color/purple</item>
<!-- item name="android:textColorPrimary">@color/white</item--> // I don't want to set this, changes everywhere.
<item name="android:textColorSecondary">@color/white</item>
<item name="android:toolbarStyle">@style/AppTheme.ToolbarStyle</item>
<item name="toolbarStyle">@style/AppTheme.ToolbarStyle</item>
<item name="drawerArrowStyle">@style/AppTheme.DrawerArrowStyle</item>
</style>
<style name="AppTheme.ToolbarStyle" parent="Base.Widget.AppCompat.Toolbar">
<!--<item name="actionOverflowButtonStyle">@style/AppTheme.OverflowButtonStyle</item>-->
<item name="android:textColor">@color/white</item> // doesn't work
<item name="titleTextAppearance">@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse</item>
<item name="android:titleTextAppearance">@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse</item>
<item name="subtitleTextAppearance">@style/TextAppearance.Widget.AppCompat.Toolbar.Subtitle</item>
</style>
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
do swojego<android.support.v7.widget.Toolbar>
; strzałka wstecz i tekst będą białe, jak powiedział @yubarajpoudel.Odpowiedzi:
Są szanse, że wychodzisz od niewłaściwego rodzica. Jeśli nie, możesz spróbować dodać bezpośrednio
style
dotoolbar
układu, jeśli chcesz zastąpić ustawienia motywu.W układzie paska narzędzi:
W swoich stylach:
źródło
styles.xml
plikuDodaj następujący plik jako toolbar.xml
Następnie w układzie, w którym potrzebujesz
Cieszyć się
źródło
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
.<include layout="@layout/toolbar"/>
Możesz użyć Inside Activity
Jeśli lubisz wybierać xml zarówno dla koloru tytułu, jak i białej strzałki, po prostu dodaj ten styl w style.xml.
A pasek narzędzi wygląda następująco:
źródło
To rozwiązanie może być prostsze. Ale wymaga wyższej wersji API (23). po prostu dodaj ten kod do paska narzędzi w formacie XML:
źródło
Jeśli używasz
AndroidX
(stan na lipiec 2019), możesz dodać następujące:UWAGA! Zostało to przetestowane pod kątem działania, jeśli
Toolbar
jest umieszczone bezpośrednio w środku,AppBarLayout
ale nie w środkuCollapsingToolbarLayout
źródło
źródło
appbarlayout
. Dzięki!ta metoda mi pomogła.
źródło
użyj app: theme = "@ style / ToolBarStyle"
Zasoby referencyjne : http: //blog.csdn.net/wyyl1/article/details/45972371
źródło
Spróbuj tego na swoim pliku XML
I dodaj to jest twój plik colors.xml
źródło
Dodaj tę linię do
Toolbar
. 100% sprawneźródło
Wypróbuj wiele metod, w niskiej wersji interfejsu API wykonalną metodą jest
<item name="actionMenuTextColor">@color/your_color</item>
i nie używaj przestrzeni nazw Androidaps:
źródło
Użyłem symboli zastępczych, więc po prostu postępuj zgodnie z instrukcjami, ponieważ możesz nadal chcieć zachować dziedzictwo po oryginalnym stylu.
Przed
Po:
style.xml
W związku z tym
źródło
Jeśli będziemy postępować zgodnie z szablonem aktywności stworzonym przez Android Studios, to AppBarLayout musi mieć motyw Android AppBarOverlay, który należy zdefiniować w swoim styles.xml. To powinno dać ci biały kolor tekstu na pasku narzędzi / paska akcji.
Upewnij się, że w pliku styles.xml istnieje:
źródło
To podejście zadziałało dla mnie przy użyciu biblioteki komponentów materiałów:
W
styles.xml
:Na podstawie tej odpowiedzi: https://stackoverflow.com/a/48205577/238753
źródło
Aby zmienić ikonę powrotu paska narzędzi do rysowania, możesz użyć tego:
Dodaj
<item name="toolbarStyle">@style/ToolbarStyle</item>
do motywu.A oto
ToolbarStyle
samo:źródło
Jeśli używasz najnowszej iteracji Android Studio 3.0 i generujesz klasy Activity, w plikach stylów zmień to:
Do tego:
źródło