在android中设置actionbar的背景drawable

时间:2013-06-21 09:50:10

标签: android image background android-actionbar

我需要为不同的片段设置动作栏的不同背景图像。 我正在使用v4支持包。但我得到的是白色背景而不是给定的图像。

以下是我使用的代码。

getActivity().getActionBar().setBackgroundDrawable(getActivity().getResources().getDrawable(R.id.image));

以及

Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.image);
        BitmapDrawable actionBarBackground = new BitmapDrawable(getResources(), bMap);
        ActionBar bar = getActivity().getActionBar();
        bar.setBackgroundDrawable(actionBarBackground);

我已创建此样式并在活动的清单中使用它

android:theme="@style/ActionBarTheme"

 <style name="MyActionBar" parent="@android:style/Widget.Holo.ActionBar">
 <item name="android:background">@drawable/image</item>
 </style>

 <style name="ActionBarTheme" parent="@android:style/Theme.Holo.Light">
 <item name="android:actionBarStyle">@style/MyActionBar</item>
 </style>

2 个答案:

答案 0 :(得分:2)

尝试这个

getActivity().getActionBar().setBackgroundDrawable(getActivity().getResources().getDrawable(R.drawable.image));

答案 1 :(得分:0)

<style name="CustomActivityTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
        <!-- other activity and action bar styles here -->
    </style>

    <!-- style for the action bar backgrounds -->
    <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">@drawable/actionbar_background</item>
    </style>

在您的清单文件中:

 <activity android:name=".activity"
                  android:theme="@style/CustomActivityTheme"/>