The root Widget.AppCompat.Light.ActionBaris the Base.Widget.AppCompat.ActionBarone that does not apply the background attribute.
<style name="Base.Widget.AppCompat.ActionBar" parent="">
...
<item name="background">@null</item>
<item name="backgroundStacked">@null</item>
<item name="backgroundSplit">@null</item>
...
</style>
Instead, your parent should be Widget.AppCompat.Light.ActionBar.Solid, so that you inherit the attributes from Base.Widget.AppCompat.Light.ActionBar.Solidwhich the background attribute applies.
<style name="Base.Widget.AppCompat.Light.ActionBar.Solid">
<item name="background">?attr/colorPrimary</item>
<item name="backgroundStacked">?attr/colorPrimary</item>
<item name="backgroundSplit">?attr/colorPrimary</item>
</style>
Alternatively, you can simply apply the background attribute yourself.
<style name="MyStyledActionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
<item name="titleTextStyle">@style/MyActionBarTitleText</item>
<item name="background">?attr/colorPrimary</item>
</style>
source
share