Is there a way to set actionbar backgound by image in android?

倖福魔咒の 提交于 2019-11-28 08:50:13

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);
Kanth

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.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- the theme applied to the application or activity -->
    <style name="MyTheme" parent="@android:style/Theme.Holo">
        <!-- Here you are including your actual custom theme in which your own things are defined --> 
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <!-- other activity and action bar styles here -->
    </style>

    <!-- style for the action bar background which is named as "MyActionBar. The same name is being used in the above style." -->
    <style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar"> 
        <item name="android:background">@drawable/actionbar_background</item>
    </style>
</resources> 

Don't forget to include this custom theme in the manifest file like the below in order to have effect in the entire application.

<application android:theme="@style/MyTheme" />

You can even include this theme in activity wise, if you want it to make it only for specific activities. Hope this helps.

garenyondem
getActionBar().setBackgroundDrawable(
    getResources().getDrawable(R.drawable.navbarbg));
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!