更改ActionBar背景的问题 - Android

时间:2013-09-29 23:17:24

标签: android

嘿伙计我是Android开发的新手,我正在努力改变我的ActionBar的背景。在themes.xml

中的res->values文件中添加以下内容时
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
   <item name="android:background">@drawable/actionbar_background</item> 
</style> 

我收到此错误消息:

error: Error: No resource found that matches the given name (at 'android:background' with value '@drawable/
 actionbar_background').

我不肯定为什么我收到这条消息并且可以用一只手。

大卫

3 个答案:

答案 0 :(得分:12)

猜猜,但我的赌注是你没有任何名为actionbar_background.png

的抽象

仔细检查png资源中是否存在拼写错误。它应该在任何drawable文件夹中。或者您可以使用.-

设置颜色
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
   <item name="android:background">#FF0000</item> 
</style> 

请注意,硬编码值是一种不好的做法。如果您最终选择背景颜色,则应考虑在单独的资源文件(即colors.xml)中为该颜色创建资源项

<color name="red">#FF0000</color>

并使用@color/red

在您的项目样式中引用它

答案 1 :(得分:5)

您可以在创建活动时使用它。 (的onCreate)

ActionBar bar = getActionBar();
//for color
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#00C4CD")));
//for image
bar.setBackgroundDrawable(getResources().getDrawable(R.drawable.settings_icon));

答案 2 :(得分:-1)

您在drawable文件夹中缺少参考文件。你会发现res下的文件夹只是将一个图像文件放在名为actionbar_background的drawable下,并且应该解决错误。你可以下载图像只是google actionbar_background。希望它有所帮助