如何在Android Studio中更改导航抽屉的汉堡图标颜色?

5
我创建了一个默认导航抽屉的新活动,但默认颜色是黑色,如何更改?

enter image description here

我尝试过这段代码,它可以工作,但动画不运行且无法点击。
Drawable drawable = getResources().getDrawable(R.drawable.ic_menu);
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.addDrawerListener(toggle);
        toggle.syncState();

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);
4个回答

16

在您的 AppTheme 中添加以下内容

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<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>

谢谢兄弟,它有效。 - Ruky Sektiawan
不需要感谢 :) @RukySektiawan - matin sayyad
是的,它正在工作,谢谢。 - Ashwin H
是的,它正在运行! - VoidMain
在2023年它仍然在运作。 - BlackBlind

-1
以编程方式将drawable添加到toggle
 toggle.setDrawerIndicatorEnabled(false);
 toggle.setHomeAsUpIndicator(R.drawable.fi_menu);

其中R.drawable.fi_menu是您自定义的可绘制对象。


问题是关于颜色而不是可绘制本身。 - David

-1
你可以按照以下步骤更改导航抽屉中的项目图标和文本颜色:
app:itemIconTint="#BDBDBD"
app:itemTextColor="#BDBDBD"

将这些添加到您的导航抽屉视图中。


这是用于给抽屉项中的图标着色,而不是抽屉切换(汉堡图标)。 - Hemanth S

-2

通过为导航视图添加背景,我们可以实现这一目标。

<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="start"
    android:background="@color/bg_dark_color">
</android.support.design.widget.NavigationView>

注意:android:background="@color/bg_dark_color" 这将有助于更改背景颜色。

他的问题是如何改变汉堡菜单的颜色,而不是背景颜色...请根据问题回答。 - Abed Putra

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接