ActionBarDrawerToggle v7箭头颜色

Vla*_* K. 14 android android-appcompat android-toolbar

当我尝试更改导航抽屉切换颜色时,只有汉堡包更改它,箭头保持她的原生颜色.你可以在这里看到它 -在此输入图像描述

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowBackground">@drawable/app_background</item>
    <item name="android:dropDownListViewStyle">@style/DropDownListViewStyle</item>
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
    <item name="android:textColor">@color/primary_text</item>
    <item name="android:windowNoTitle">true</item>
    <item name="windowActionBar">false</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/holo_red_dark</item>
</style>
Run Code Online (Sandbox Code Playgroud)

如果我将父主题更改为Theme.AppCompat.Light箭头,则将其颜色更改为黑色.使用以下小部件:android.support.v7.app.ActionBarDrawerToggle; android.support.v7.widget.Toolbar;

我究竟做错了什么?

Gol*_*hay 11

这对我有用:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            mDrawerToggle.getDrawerArrowDrawable().setColor(getColor(R.color.drawer_toggle_color));
        } else {
            mDrawerToggle.getDrawerArrowDrawable().setColor(getResources().getColor(R.color.drawer_toggle_color));
        }
Run Code Online (Sandbox Code Playgroud)


nat*_*rio 10

尝试使用

        <item name="colorControlNormal">@color/your_color</item>
        <item name="android:colorControlNormal">@color/your_color</item>
Run Code Online (Sandbox Code Playgroud)

而不是你的抽屉箭头样式.

要清除我的评论,请尝试:

    <item name="actionBarStyle">@style/My.ActionBar.Style</item>
Run Code Online (Sandbox Code Playgroud)

然后:

     <style name="My.ActionBar.Style" parent="Widget.AppCompat.ActionBar">

        <item name="colorControlNormal">@color/your_color</item>
        <item name="android:colorControlNormal">@color/your_color</item>

    </style>
Run Code Online (Sandbox Code Playgroud)


Ana*_*ani 7

试试这个改变DrawerArrow的颜色

<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="spinBars">true</item>
    <item name="color">@android:color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)


Ole*_*nko -1

您可以使用该方法设置自定义箭头或其他图标

toolbar.setNavigationIcon(Int drawable resource);
Run Code Online (Sandbox Code Playgroud)