细节:

我正在扩展ActionBarActivity。 Eclipse和SDK已于2011-11-06完全补丁。

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="14" />  

部署到三星设备的Android 2.3.3 应用程序有android:theme="@android:style/ theme。光”

问题:应用程序很轻,但ActionBar是蓝色的灰色图标,在蓝色背景色下几乎看不见。我还想让动作栏变得更轻,这样它们的灰色图标就更明显了。

我试过修改样式,但没有用。 我可能遗漏了一些小事。

如何使用XML更改ActionBarActivity的ActionBar的背景颜色?


当前回答

使用这个- http://jgilfelt.github.io/android-actionbarstylegenerator/

这是一个惊人的工具,让你自定义你的动作栏与实时预览。

我尝试了之前的答案,但总是有问题,改变其他颜色,如标签和字母,并花了几个小时调整东西。这个工具帮助我在几分钟内完成了我的设计。

祝你一切顺利!:)

其他回答

使用此代码..更改操作栏背景颜色。 打开res/values/themes.xml(如果不存在,创建它) 并添加

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
       parent="@android:style/Theme.Holo.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
 <!-- ActionBar styles -->
<style name="MyActionBar"
       parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@drawable/actionbar_background</item>
</style>

注意:此代码仅适用于android 3.0及更高版本

试试一行代码:

getActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.MainColor)));

有时这个选项会抛出NullPointerException

ActionBar = getActionBar(); actionbar。setBackgroundDrawable(新ColorDrawable(“颜色”));

但这个选择对我来说是可行的。你可以试试这个。

getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FFFFFF")));

快乐的编码

用这个就行了。

ActionBar actionbar = getActionBar();
actionbar.setBackgroundDrawable(new ColorDrawable("color"));

2021: Kotlin联机程序,没有弃用:

supportActionBar?.setBackgroundDrawable(ColorDrawable(ContextCompat.getColor(this,R.color.red)))

只需将其放入onCreate并根据需要更改颜色