9

It is easy to set a default color of the items background in action bar by setting:

<item name="android:actionBarItemBackground">@drawable/action_bar_item_background</item>

in application theme.

I would like to change this color only for one of my fragments. How to do it programmatically?

Tomasz
  • 1,406
  • 1
  • 18
  • 28

3 Answers3

11

Have you tried the solution from user3225831 mentioned here: https://stackoverflow.com/a/21297231/1738838

ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable("COLOR")); 
Community
  • 1
  • 1
Elementary
  • 2,153
  • 2
  • 24
  • 35
7

Use simple one line code... Pass RGB values of the required color

getActionBar().setBackgroundDrawable(new ColorDrawable(Color.rgb(248, 248, 248)));

For Color codes, you can use this website: http://www.rapidtables.com/web/color/RGB_Color.htm

Srikanth P
  • 1,506
  • 14
  • 12
1

I have found a simple workaround of this problem. You can set transparent color to the background of action bar item. Then changing color of the action bar will change background of the item. I don't see possibility to change item color without recreating an the activity.

Tomasz
  • 1,406
  • 1
  • 18
  • 28