2014-12-11 2 views
1

Я реализую дизайн материалов в своем приложении, и я хочу, чтобы изменить цвет значка ящика на белый, но я не мог достичь того, что я ищу.Appcombat v7 Панель инструментов с меняющимися цветами ящика

Это мой themes.xml файл:

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:android="http://schemas.android.com/apk/res/android"> 

    <style name="AppTheme" parent="AppTheme.Base" /> 

    <style name="AppTheme.Base" parent="Theme.AppCompat.Light"> 
     <item name="colorPrimary">@color/primary</item> 
     <item name="colorPrimaryDark">@color/primary_dark</item> 
     <item name="android:windowNoTitle">true</item> 
     <item name="windowActionBar">false</item> 
    </style> 

    <style name="HeaderBar" parent="AppTheme.Base"> 
     <item name="android:textColorPrimary">@android:color/white</item> 
     <item name="android:background">@color/primary</item> 
     <item name="actionMenuTextColor">@android:color/white</item> 
     <item name="android:textColorSecondary">@android:color/white</item> 
     <item name="android:actionMenuTextColor">@android:color/white</item> 
    </style> 

    <style name="ActionBarPopupThemeOverlay" parent="ThemeOverlay.AppCompat.Light"> 
     <item name="android:background">@android:color/white</item> 
     <item name="android:textColor">#000</item> 
    </style> 

    <style name="ActionBarThemeOverlay" parent=""> 
     <item name="android:textColorPrimary">#fff</item> 
     <item name="colorControlNormal">#fff</item> 
     <item name="colorControlHighlight">#3fff</item> 
    </style> 

</resources> 

И это мой файл toolbar.xml

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res/jpe.serviguide.commobile" 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="?attr/colorPrimary" 
    app:popupTheme="@style/ActionBarPopupThemeOverlay" 
    app:theme="@style/HeaderBar" /> 

Все цвета, которые я хотел просто отлично, но значок ящика черный вместо белого ..

App screen capture

Я пробовал много вещей, но без результата желания

Большого спасибо

+0

[проверить этот стиль] (http://stackoverflow.com/questions/26439572/how-to-style-the-drawerarrowtoggle-from-android-appcompat-v7-21-library) – snachmsm

ответ

6

Наконец сделал это, делая это на мой файл theme.xml

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    .... 
    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item> 
</style> 

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle"> 
    <item name="spinBars">true</item> 
    <item name="color">@android:color/white</item> 
</style> 
+0

Вы спасли мою жизнь !! !!!! +1 –

+0

@ LisaAnne рада помочь! :) – neteot

0

Привет neteot всегда, когда я работаю с костюмированной решеткой создать пользовательский макет в баре , то в моем случае кнопка баров/Burguer является ImageButton ... Тогда вам нужно изменить цвет значка

Если вы хотите, чтобы создать идеальный пользовательский бар, вы можете увидеть мой последний пост:

https://stackoverflow.com/questions/27417923/android-add-custom-buttons-on-action-bar/27418306#27418306

Удачи, и я жду, чем я помогу вам!

PD: Если вам нужна дополнительная информация или какие-либо сомнения, посоветуйте мне!

1

Я думаю, что ваш ActionBar должен иметь следующий родителю (ThemeAppCompat.Light):

<style name="HeaderBar" parent="Theme.AppCompat.Light"> 
    <item name="android:textColorPrimary">@android:color/white</item> 
    <item name="android:background">@color/primary</item> 
    <item name="actionMenuTextColor">@android:color/white</item> 
    <item name="android:textColorSecondary">@android:color/white</item> 
    <item name="android:actionMenuTextColor">@android:color/white</item> 
</style> 
3

Вы можете сделать это это:

<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:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/colorPrimaryDark" 
     android:minHeight="?attr/actionBarSize" 
     app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" /> 

приложение: тема = "@ стиль/ThemeOverlay.AppCompat.Dark.ActionBar" - это важная часть

+0

отлично, спасибо! –

Смежные вопросы