我只是想不出这个: 我有一个ActionBar的应用程序,我希望ActionBar为红色,应用程序的背景为蓝色。我尝试用这个styles.xml实现这个目的:
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:background">@color/blue</item>
<item name="background">@color/blue</item>
<item name="android:layout_marginTop">5dp</item>
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/red</item>
<item name="background">@color/red</item>
</style>
但是actionBar总是蓝色的。当我拿走应用程序的蓝色背景时,actionBar会根据需要变为红色......
有什么想法吗?
答案 0 :(得分:1)
您设置的保证金不明确,不适用于任何内容。您应该在操作栏主题上设置边距:
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/red</item>
<item name="android:windowBackground">@color/blue</item>
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:layout_marginTop">5dp</item>
</style>
答案 1 :(得分:0)
如果你要做的只是一个蓝色背景的红色操作栏,那么使用支持库的v21 +附带的材料属性要容易得多:
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/red</item>
<item name="android:windowBackground">@color/blue</item>
</style>