Android无法更改汉堡图标颜色

时间:2018-02-24 00:00:13

标签: android styles

我试图将汉堡图标颜色从黑色变为白色:How to change Toolbar home icon color,但图标不会改变颜色。

这是我创建的风格:

<style name="WhiteHamburguerIcon" parent="AppTheme">
        <item name="android:textColorSecondary">@color/white</item>
</style>

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
</style>

然后我将样式应用到工具栏:

<android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:theme="@style/WhiteHamburguerIcon"
            app:popupTheme="@style/AppTheme.PopupOverlay"
            app:titleTextAppearance="@style/Toolbar.TitleText" />

活动正在使用这种风格:

<style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
</style>

后退箭头为白色,也是溢出按钮。我能做些什么来实现这个目标?

2 个答案:

答案 0 :(得分:0)

您的样式图标中的

parent必须为"@style/Widget.AppCompat.DrawerArrowToggle"。 “WhiteHamburguerIcon”是一种项目样式,因此只需将其添加到活动样式:

<item name="drawerArrowStyle">@style/WhiteHamburguerIcon</item>

答案 1 :(得分:0)

我认为您应该将“styles.xml”文件更改为

<style name="MyMaterialTheme" parent="MyMaterialTheme.Base">

</style>

<style name="MyMaterialTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</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>

快乐编码......