我一直在尝试将动作栏中的溢出图标(三个点)更改为白色而不是灰色。我已经按照每个人的建议,但它保持不变。这是我的代码:
<style name="ActionBar.AccentColor.Background" parent="@android:style/Widget.Holo.ActionBar.Solid">
<item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
<item name="android:background">@color/accent_dark</item>
<item name="android:backgroundSplit">@color/accent_dark</item>
<item name="android:titleTextStyle">@style/ActionBar.TitleTextStyle</item>
</style>
<style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.Light.ActionButton.Overflow">
<item name="android:src">@drawable/ic_action_back_white</item>
<item name="android:background">?android:attr/actionBarItemBackground</item>
<item name="android:contentDescription">"Lala"</item>
</style>
<style name="Theme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/ActionBar.AccentColor.Background</item>
</style>
我甚至创建了一个新的应用程序,它可以100%运行。一个想法是,我所包含的apklib项目可能导致了问题,因此我将所有内容移出apklib并再次进行测试。不知道发生了什么!
答案 0 :(得分:10)
您错放了android:actionOverflowButtonStyle
项。它必须在主题中定义,而不是在android:actionBarStyle
内。
将样式更改为以下内容,它应该有效:
<style name="ActionBar.AccentColor.Background" parent="@android:style/Widget.Holo.ActionBar.Solid">
<item name="android:background">@color/accent_dark</item>
<item name="android:backgroundSplit">@color/accent_dark</item>
<item name="android:titleTextStyle">@style/ActionBar.TitleTextStyle</item>
</style>
<style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.Light.ActionButton.Overflow">
<item name="android:src">@drawable/ic_action_back_white</item>
<item name="android:background">?android:attr/actionBarItemBackground</item>
<item name="android:contentDescription">"Lala"</item>
</style>
<style name="Theme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/ActionBar.AccentColor.Background</item>
<item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
</style>