Android 如何更改动作栏的背景颜色(材质设计)?
我希望我的操作栏有一个值为@color/colorPrimary(最后一项)的背景,但在我的应用程序中,操作栏的颜色与我的背景相同。看起来它们都是1个元素。如何设置动作栏的样式(字体、背景等)?我将不必动态地设计它,它将在整个活动中保持相同的颜色Android 如何更改动作栏的背景颜色(材质设计)?,android,android-actionbar,material-design,Android,Android Actionbar,Material Design,我希望我的操作栏有一个值为@color/colorPrimary(最后一项)的背景,但在我的应用程序中,操作栏的颜色与我的背景相同。看起来它们都是1个元素。如何设置动作栏的样式(字体、背景等)?我将不必动态地设计它,它将在整个活动中保持相同的颜色 <resources> <style name="AppTheme" parent="android:Theme.Material"> <item name="android:colorPrimar
<resources>
<style name="AppTheme" parent="android:Theme.Material">
<item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:colorPrimary">@color/colorPrimary</item>
<item name="android:background">@color/background</item> **BACKGROUND**
<item name="android:actionBarStyle">@color/colorPrimary</item> **ACTION BAR**
</style>
</resources>
@颜色/原色暗
@颜色/原色
@颜色/背景**背景**
@颜色/颜色主**操作栏**
color.xml
<resources>
<color name="colorPrimary">#E91E63</color>
<color name="colorPrimaryDark">#880E4F</color>
<color name="colorAccent">#E91E63</color>
<color name="background">#FCE4EC</color>
</resources>
#E91E63
#880E4F
#E91E63
#FCE4EC
我的操作栏没有应用我想要的颜色。试试这段代码
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:statusBarColor">@color/colorPrimaryDark</item>
<item name="colorPrimary">@color/color_primary</item>
<item name="colorPrimaryDark">@color/color_primary_dark</item>
<item name="colorAccent">@color/accent_color</item>
</style>
</resources>
在应用程序主题中使用
android:background
不是一个好主意,因为这会将背景颜色应用于所有视图,包括操作栏。而是使用android:windowBackground设置活动的窗口背景颜色。您可以如下设置其颜色:
<resources>
<style name="AppTheme" parent="android:Theme.Material">
<item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="android:colorPrimary">@color/colorPrimary</item>
<item name="android:background">@color/background</item> **BACKGROUND**
<item name="android:actionBarStyle">@color/colorPrimary</item> **ACTION BAR**
</style>
</resources>
ActionBar ab = getSupportActionBar();
if(ab != null) {
ab.setBackgroundDrawable(new ColorDrawable(Color.RED));
}
ActionBar将colorPrimary作为其颜色转到
color.xml
并更改colorPrimary
或更改样式。xml
我已经完成了您的两个建议,它不起作用…好吧,我实际上想应用材质主题,而不是应用程序one@Helenesh,请尝试此-getActionBar().setBackgroundDrawable(新的ColorDrawable(Color.parseColor(#1e8d93”);是的,即使使用您的代码,我的操作栏的背景色也不会改变(我想给colorPrimary上色)。如果您愿意,请随时查看我在Github上的代码尝试从代码设置Actionbar并设置BG…检查代码我找到了解决方案:@color/colorPrimaryDark我想知道为什么人们会给我负面评价,因为这是一个非常有用的问题,供以后参考!我在对材料设计进行了大量研究后找到了解决方案;-)谢谢你的帮助,Sreekanth!