我在compat主题中设置自定义溢出图标,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="AppTheme.Base"/>
<style name="AppTheme.Base" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@color/action_bar</item>
<item name="colorPrimaryDark">@color/status_bar</item>
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="android:textColorPrimary">@color/theme_red</item>
<item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
<item name="android:actionOverflowButtonStyle">@style/OverflowMenuButton</item>
</style>
<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
<item name="spinBars">true</item>
<item name="color">@color/theme_red</item>
</style>
<style name="OverflowMenuButton" parent="@style/Widget.AppCompat.Light.ActionButton.Overflow">
<item name="android:src">@drawable/ic_action_overflow</item>
</style>
</resources>
我在Nexus 5 API 5.1上得到以下(所需且正确的)结果:
然而,当我在API 4.4.4或4.2.2(在Nexus 4,Xperia Z等上测试)上测试相同的应用程序时,在这两种情况下,我都没有获得自定义溢出图标。这是截图:
我正在使用appcompat库v7:21中的工具栏,但我不认为问题是由工具栏引起的。我在这里做错了什么?
作为后续问题,我很乐意在保持相同形状的同时更改溢出图标的颜色。可能吗?如果是,怎么样?
答案 0 :(得分:1)
根据之前的评论:您似乎忘了在主题中添加非{4}的非Android前缀版本。添加以下内容:
actionOverflowButtonStyle
答案 1 :(得分:1)
首先您需要删除以下行
application.commandbars("cell").enabled = true
然后添加以下代码
<item name="android:actionOverflowButtonStyle">@style/OverflowMenuButton</item>
它会起作用