How do I change the Action Bar Overflow button color

Viewed 18421

First off I have read Change color of the overflow button on action bar but I'm not able to get it to work.

I just want to have a simple theme: Action bar background blue and the buttons and text white. For the list views that I have I want them to be the inverse: white background and blue text. If there is a simple way to achieve this please let me know. I have tried setting text color using a style but I cannot get the text and the buttons to be different colors so I tried setting the overflow drawable and for testing purposes I made the dots red but don't see any effect.

    <!-- Application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="actionBarStyle">@style/ActionBarStyle</item>
</style>

<style name="ActionBarStyle" parent="Widget.AppCompat.ActionBar">
    <item name="background">@color/background_blue</item>
    <item name="titleTextStyle">@style/AppTheme.ActionBar.Title</item>
    <item name="actionOverflowButtonStyle">@style/AppTheme.ActionButton.Overflow</item>
</style>

<style name="AppTheme.ActionBar.Title" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/white</item>
</style>

<style name="AppTheme.ActionButton.Overflow"  parent="@style/Widget.AppCompat.ActionButton.Overflow">
    <item name="android:src">@drawable/abc_ic_menu_overflow_button</item>
</style>

The overflow button that I'm using for testing The overflow button that I'm using for testing

While what I see

What I see

which clearly is not using the red buttons.

I was able to use the android:textColorPrimary attribute but that has undesirable side effects.

    <style name="AppTheme" parent="Theme.AppCompat.Light">
    <item name="android:textColorPrimary">@color/white</item>
    <item name="actionBarStyle">@style/ActionBarStyle</item>
</style>

<style name="ActionBarStyle" parent="Widget.AppCompat.ActionBar">
    <item name="background">@color/background_blue</item>
    <item name="titleTextStyle">@style/AppTheme.ActionBar.Title</item>
</style>

<style name="AppTheme.ActionBar.Title" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/white</item>
</style>

enter image description here

but then since I want a white background for my lists I end up not being able to see some text since the text and background are both white.

Thanks!

4 Answers
Related