我希望我的Action Bar的背景值为@ color / colorPrimary(最后一项),但在我的应用中,操作栏采用的颜色与我的背景颜色相同。它们看起来都是1个元素。如何设置动作栏的样式(字体,背景......)?我不需要动态设置它,它将在整个活动中保持相同的颜色。
<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>
我的操作栏不会应用我想要的颜色。
答案 0 :(得分:0)
试试这段代码
<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>
来自Java:
requestWindowFeature(Window.FEATURE_ACTION_BAR);
getActionBar().setBackgroundDrawable(
new ColorDrawable(Color.parseColor("#1e8d93")));
答案 1 :(得分:0)
在您的应用主题中使用android:background
不是一个好主意,因为这会将背景颜色应用于所有视图,包括操作栏。而是使用android:windowBackground
来设置活动的窗口背景颜色。
答案 2 :(得分:0)
你可以设置它的颜色:
ActionBar ab = getSupportActionBar();
if(ab != null) {
ab.setBackgroundDrawable(new ColorDrawable(Color.RED));
}