I need to change background of the action bar to a customized image, but every time I try to use this code it does not change a thing.
Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.navbarbg);
BitmapDrawable bd = new BitmapDrawable(getResources(), b);
bar.setBackgroundDrawable(bd);
Also I tried this code but it didn't work.
Resources res = getResources();
xpp =res.getXml(R.drawable.actionbar_background);
bitmapDrawable = (BitmapDrawable) BitmapDrawable.createFromXml (res, xpp);
The contents of actionbar_background.xml are
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/navbarbg"
android:tileMode="repeat" />
Edited: I used this code which worked fine:
Bitmap bMap = BitmapFactory.decodeResource(res, R.drawable.action_bar_bg);
BitmapDrawable actionBarBackground = new BitmapDrawable(res, bMap);
ActionBar bar = getActionBar();
bar.setBackgroundDrawable(actionBarBackground);
I used this code which worked fine:
You can do it by playing around with
styles.xml.
Here is a detailed explanation. Look at the marked answer. It is explained for the actionbarsherlock. But the approach is same. If you need more details. Refer this link which is also given by other answerer.Don't forget to include this custom theme in the manifest file like the below in order to have effect in the entire application.
You can even include this theme in activity wise, if you want it to make it only for specific activities. Hope this helps.