设置主题的背景可将ActionBar设置为与Activity不同的背景

时间:2018-07-17 17:37:06

标签: android android-actionbar android-theme android-styles

我想定义一种样式,该样式为Activity的背景色提供一种颜色,而主题的背景为ActionBar提供另一种颜色。据说,actionBarStyle / android:actionBarStyle属性应该已经适应了这一点,但是我尝试过的许多变体都没有产生预期的结果。

某些代码:

AndroidManifest:

<activity
    android:name=".activities.SettingsActivity"
    android:label="Settings"
    android:theme="@style/LightToolbar" />

样式:

<style name="LightToolbar" parent="Theme.AppCompat.Light">                        
    <item name="android:background">@color/in_app_background</item>               
    <item name="android:textColorPrimary">@color/Gray</item>                  
    <item name="actionBarStyle">@style/WhiteToolbar</item>                        
</style>                                                                                                                                                                                                                                  

<style name="WhiteToolbar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
    <item name="android:background">@color/White</item>                           
</style>

出于某种原因,此代码使ActionBar的背景为@color/in_app_background,而不是样式中指定的@color/White。我尝试过的其他变化会导致阴影消失,或者ActionBar标题消失。

为什么会发生这些问题?如何实现预期的行为?

0 个答案:

没有答案