3 回答
TA贡献1820条经验 获得超10个赞
查看Toolbar和TintManager来源,drawable/abc_ic_ab_back_mtrl_am_alpha以style属性的值进行着色colorControlNormal。
我确实尝试在我的项目中设置此<item name="colorControlNormal">@color/my_awesome_color</item>主题(带有主题),但对我来说仍然是黑色的。
更新:
找到了。您需要使用设置actionBarTheme属性(不是 actionBarStyle)colorControlNormal。
例如:
<style name="MyTheme" parent="Theme.AppCompat.Light">
<item name="actionBarTheme">@style/MyApp.ActionBarTheme</item>
<item name="actionBarStyle">@style/MyApp.ActionBar</item>
<!-- color for widget theming, eg EditText. Doesn't effect ActionBar. -->
<item name="colorControlNormal">@color/my_awesome_color</item>
<!-- The animated arrow style -->
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
</style>
<style name="MyApp.ActionBarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar">
<!-- THIS is where you can color the arrow! -->
<item name="colorControlNormal">@color/my_awesome_color</item>
</style>
<style name="MyApp.ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar">
<item name="elevation">0dp</item>
<!-- style for actionBar title -->
<item name="titleTextStyle">@style/ActionBarTitleText</item>
<!-- style for actionBar subtitle -->
<item name="subtitleTextStyle">@style/ActionBarSubtitleText</item>
<!--
the actionBarTheme doesn't use the colorControlNormal attribute
<item name="colorControlNormal">@color/my_awesome_color</item>
-->
</style>
TA贡献1772条经验 获得超6个赞
尝试了以上所有建议。我设法在工具栏中更改导航图标默认后退按钮箭头颜色的唯一方法是在基本主题中设置colorControlNormal,如下所示。可能是因为父级正在使用Theme.AppCompat.Light.NoActionBar
<style name="BaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorControlNormal">@color/white</item>
//the rest of your codes...
</style>
添加回答
举报