1

Я хочу изменить цвет моего гамбургера/backarrow на панели инструментов от colorPrimaryDark до белого.Изменение цвета панели инструментов гамбургера/backarrow Android

В моем файле style.xml У меня есть 2 темы:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorPrimary</item> 
    <item name="colorButtonNormal">@color/white</item> 
    <item name="android:windowTranslucentStatus">true</item> 
</style> 


<!-- Toolbar theme. --> 
<style name="toolbar" parent="AppTheme"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/white</item> 
    <item name="colorControlNormal">@color/white</item> 
    <item name="windowActionBar">false</item> 
    <item name="windowNoTitle">true</item> 
    <item name="android:textColorPrimary">@color/white</item> 
    <item name="android:textColor">@color/black</item> 
    <item name="android:textColorSecondary">@android:color/white</item> 
</style> 

и это моя панель:

<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/toolbar" 
    android:fitsSystemWindows="true" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@color/colorPrimary" 
    android:elevation="4dp" 
    android:theme="@style/toolbar"> 
</android.support.v7.widget.Toolbar> 

Я попытался с несколькими методами и единственный, который работает как двигаться <item name="android:textColorSecondary">@android:color/white</item> из тема панели инструментов для базовой темы приложения.

Это не нормально для меня, потому что настройка textColorSecondary на белый в базовой теме меняет цвет других компонентов. Я хочу установить его только для моей панели инструментов. Но это не работает, даже если у меня есть <item name="android:textColorSecondary">@android:color/white</item> и установить свой стиль панели инструментов в toolbar.xml с помощью "android:theme="@style/toolbar"

enter image description here

enter image description here

странное дело в том, что другие цвета темы применяются должным образом.

Где я ошибаюсь?

+0

Вы попробовали [это] (http://stackoverflow.com/questions/31870132/how-to-change-color-of-hamburger-icon-in-material-design-navigation-drawer)? – azizbekian

+0

Да, но он меняет только цвет значка гамбургера не для обоих, почему? – BitRulez

ответ

1

Работа вокруг: (но я думаю, что это не элегантное решение)

я установить значок по умолчанию стрелку с этим:

toolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_material); 

и изменить цвет гамбургер с этим:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorPrimary</item> 
     <item name="colorButtonNormal">@color/white</item> 
     <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> 
</style> 

<style name="DrawerArrowStyle" parent="@style/Widget.AppCompat.DrawerArrowToggle"> 
    <item name="spinBars">true</item> 
    <item name="color">@android:color/white</item> 
</style> 
Смежные вопросы