Search code examples
androidandroid-actionbar

Change action bar overflow icon


I have applied the following code in values-v11 folder

styles.xml

 <style name="actionBarTheme" parent="android:Theme.Holo.Light">
    <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
 </style>

 <style name="MyActionButtonOverflow" parent="@android:style/Widget.Holo.Light.ActionButton.Overflow">
    <item name="android:src">@drawable/action_item_btn</item>
 </style>

But it not changing the overflow icon, all the other items in this theme is working fine but not this one, am i missing anything ?


Solution

  •  i want to apply these styles above 4.0 version 
    

    But you have the styles in values-v11

    Also note

    parent="android:Theme.Holo.Light" // in your code
    

    to

    parent="@android:style/Theme.Holo" // mine
    

    It should be in values-v14

    <?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:android="http://schemas.android.com/apk/res/android">
        <style name="MyTheme" parent="@android:style/Theme.Holo">
            <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
        </style>
        <style name="MyActionButtonOverflow" parent="@android:style/Widget.Holo.Light.ActionButton.Overflow">
           <item name="android:src">@drawable/ic_launcher</item>    
        </style>
    </resources>
    Snap
    

    Forget how the ui look's this is for testing. But you see the launcher icon as the overflow menu icon.

    enter image description here

    Edit:

    This is my test sample

    <?xml version="1.0" encoding="utf-8"?>
    <resources xmlns:android="http://schemas.android.com/apk/res/android">
        <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
                 <item name="android:actionBarStyle">@style/MyActionBar</item>
                  <item name="android:actionBarDivider">@color/red</item>
                  <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
        </style>
    
        <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
             <item name="android:background">#FF9D21</item>
    
             <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
        </style> 
        <style name="MyActionBarTitleText"
               parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
            <item name="android:textColor">@color/red</item>
            <item name="android:textStyle">bold</item>
        </style>
          <style name="MyActionButtonOverflow" parent="@android:style/Widget.Holo.Light.ActionButton.Overflow">
        <item name="android:src">@drawable/launcher</item>    
        </style>
        <style name="ActionButton" parent="@android:style/Widget.Holo.Light.ActionButton">
    </style>
    </resources>
    

    Colors.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <color name="red">#FF0000</color>
    </resources>
    

    Snap

    enter image description here