我一直试图改变动作栏的颜色而没有任何成功。我一直在寻找一段时间...... 我试过这篇文章的解决方案: How to change ActionBar color?
这是我的styles.xml:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/ActionBar</item>
</style>
<style name="ActionBar" parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">#0091ea</item>
</style>
</resources>
答案 0 :(得分:0)
你可以这样做
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:titleTextStyle">@style/TitleBarTextColor</item>
<item name="android:background">YOUR_COLOR_CODE</item>
</style>
<style name="TitleBarTextColor" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">YOUR_COLOR_CODE</item>
</style>
很明显,您必须在AndroidManifest中的Activity上添加此主题。
修改强>
在您的活动
上添加这些导入 import android.app.ActionBar;
import android.graphics.drawable.ColorDrawable;
就在下面你就创造了这个
ActionBar ab = getActionBar();
ColorDrawable colorDrawable = new ColorDrawable(Color.parseColor("#81a3d0"));
ab.setBackgroundDrawable(colorDrawable);
这对我有用:
getActionBar()。setBackgroundDrawable(new ColorDrawable(0xff1d97dd));
让我知道它是否有效:)
答案 1 :(得分:0)
您可以使用Android Asset Studio创建自定义ActionBar样式,因此选择您希望AB拥有的颜色。
您还可以尝试此StackOverflow帖子How do I change the background color of the ActionBar of an ActionBarActivity using XML?
中的解决方案引用:
以防万一,如果你的目标是最低API等级11,你可以改变 ActionBar通过定义自定义样式的背景颜色,如:
<resources> <style name="MyTheme" parent="@android:style/Theme.Holo.Light"> <item name="android:actionBarStyle">@style/MyActionBar</item> </style> <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> <item name="android:background">ANY_HEX_COLOR_CODE</item> </style> </resources>
并且,将“MyTheme”设置为应用程序/活动的主题。
答案 2 :(得分:0)
要更改操作栏背景,请为活动创建一个覆盖actionBarStyle属性的自定义主题。此属性指向另一种样式,您可以在其中覆盖background属性以指定操作栏背景的可绘制资源。
仅支持Android 3.0及更高版本时,您可以像这样定义操作栏的背景:
<强> RES /值/的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>
</resources>
然后将您的主题应用于整个应用或个人活动:
<强>的AndroidManifest.xml 强>
<application android:theme="@style/CustomActionBarTheme" ... />
答案 3 :(得分:0)
您可以在styles.xml
。
<resources>
<!-- inherit from the material theme -->
<style name="AppTheme" parent="android:Theme.Material">
<!-- Main theme colors -->
<!-- your app branding color for the app bar -->
<item name="android:colorPrimary">@color/primary</item>
<!-- darker variant for the status bar and contextual app bars -->
<item name="android:colorPrimaryDark">@color/primary_dark</item>
<!-- theme UI controls like checkboxes and text fields -->
<item name="android:colorAccent">@color/accent</item>
</style>
</resources>
然后创建一个colors.xml
文件,并以十六进制格式设置颜色。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="primary">#F44336</color>
<color name="primaryDark">#D32F2F</color>
<color name="accent">#448AFF</color>
</resources>
转到此处了解详情:https://developer.android.com/training/material/theme.html#ColorPalette