Android 如何更改汉堡菜单图标的颜色?
首先,我想澄清一下,我愿意更改汉堡包导航菜单图标本身的颜色,而不是导航菜单中的图标 我遵循了本教程: 因此,我在应用程序栏中有一个导航菜单图标(汉堡包)。问题:图标为黑色(可绘制向量的默认颜色) 我创造了一种新的风格:Android 如何更改汉堡菜单图标的颜色?,android,hamburger-menu,Android,Hamburger Menu,首先,我想澄清一下,我愿意更改汉堡包导航菜单图标本身的颜色,而不是导航菜单中的图标 我遵循了本教程: 因此,我在应用程序栏中有一个导航菜单图标(汉堡包)。问题:图标为黑色(可绘制向量的默认颜色) 我创造了一种新的风格: <!-- Hamburger menu --> <style name="MyDrawerArrowToggle" parent="Widget.AppCompat.DrawerArrowToggle"> <item name="color"
<!-- Hamburger menu -->
<style name="MyDrawerArrowToggle" parent="Widget.AppCompat.DrawerArrowToggle">
<item name="color">@color/colorTextTitle</item>
</style>
@颜色/颜色文本标题
然后,我将此样式添加到我的主题中:
<style name="customTheme" parent="Theme.AppCompat.NoActionBar">
<!-- Hamburger menu -->
<item name="drawerArrowStyle">@style/MyDrawerArrowToggle</item>
</style>
@样式/MyDrawarRowToggle
确保此样式是我的应用程序在清单中使用的样式:
<application>
android:theme="@style/customTheme"
</application>
android:theme=“@style/customTheme”
并将此主题应用于工具栏(以防万一…)
手术结果:所有这些都没有任何效果。汉堡包图标仍然是黑色的
你们谁能向我解释一下我犯了什么错误,以及我如何改变这种颜色?我建议你们看看谷歌/安卓工作室提供的示例
测试汉堡的新项目
(名称可选;-))values/styles.xml
(不是v21版本,f**c那些):)
这是现有主题的外观:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
@颜色/原色
@颜色/原色暗
@颜色/颜色重音
您需要将此行添加到其中:
@style/DrawerArrowStyle
当然,还要定义样式:
<style name="DrawerArrowStyle" parent="@style/Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="color">@android:color/holo_red_dark</item>
</style>
真的
@安卓:彩色/全息红/暗
总而言之,您的风格现在应该如下所示:
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<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/holo_red_dark</item>
</style>
@颜色/原色
@颜色/原色暗
@颜色/颜色重音
@样式/抽屉箭头样式
真的
@安卓:彩色/全息红/暗
运行时,它看起来像:
将其用作工具栏的样式
<style name="Toolbar">
<item name="android:textColorPrimary">@color/colorAccent</item>
<item name="android:textColor">@color/colorAccent</item>
<item name="android:textColorSecondaryInverse">@color/colorAccent</item>
<item name="android:textColorSecondary">@color/colorAccent</item>
</style>
@颜色/颜色重音
@颜色/颜色重音
@颜色/颜色重音
@颜色/颜色重音
我希望这能有所帮助谢谢您的详细回答。我就是这么做的,而且很有效。然后,我继续使用API lvl 21(我在项目中使用的那个)再次这样做,它仍然有效(所以至少我知道这不是问题所在)。我会继续处理这个汉堡包项目,并尝试找到正确的方法来实现我的主题。确保在样式中使用正确的父项,这一点非常重要:
parent=“@style/Widget.AppCompat.drawerrowtoggle”
与parent=“Widget.AppCompat.drawerrowtoggle”
<style name="Toolbar">
<item name="android:textColorPrimary">@color/colorAccent</item>
<item name="android:textColor">@color/colorAccent</item>
<item name="android:textColorSecondaryInverse">@color/colorAccent</item>
<item name="android:textColorSecondary">@color/colorAccent</item>
</style>