I'm currently implementing theme support for my application and a part of it is changing the action bar app icon. I want to use a dark icon when Holo Light is selected. Everything is done in the method except for the part where the action bar app icon is set. The code that im trying to use is:
getActionBar();
ActionBar.setIcon(R.drawable.my_icon);
"There is no such reference avavible here" is the error that i'm getting. How should this be done correctly?
BTW my minSdkVersion is 14 so no action bar sherlock stuff.
You're throwing the action bar away right there.
getActionBar()
returns an instance ofActionBar
, which you then need to callsetIcon()
on. Like so:You need to add the drawable that you want to reference into your
drawable/
folder underres/
.edit: In your Android installation folder there are a lot of stock images to use. You can probably find it there.
The existing answer is very correct. There is, however, also an alternative. A minimal approach would be to use
getActionBar().setIcon(R.drawable.my_icon);
Gets your job done right away. :)
Technical Details: Since getActionBar() by default returns an object, you can directly manipulate it without having to receive it in an in-scope object explicitly.
Try this
I am using this for my use , and it's working for me. Hope this help all
Calling to
setIcon
wasn't enough for me.Before that, I had to switch the display from activity logo to activity icon:
For the differences between activity icon and logo see Android icon vs logo.