使用Theme.AppCompat时,操作栏颜色不会更改

ez4*_*ick 0 android android-appcompat android-theme

我所要做的就是让动作栏和状态栏改变颜色以进行材料设计.以下是我创建的主题:

 <!-- Base application theme. -->
<style name="AppTheme2" parent="Theme.AppCompat">
    <!-- colorPrimary is used for the default action bar background -->
    <item name="android:colorPrimary">#FF5722</item>
    <!--<item name="android:statusBarColor">#E64A19</item>-->

    <!-- colorPrimaryDark is used for the status bar -->
    <item name="android:colorPrimaryDark">#E64A19</item>


    <!-- colorAccent is used as the default value for colorControlActivated
         which is used to tint widgets -->
    <item name="android:colorAccent">#FF9800</item>

    <!-- You can also set colorControlNormal, colorControlActivated
         colorControlHighlight & colorSwitchThumbNormal. -->

</style>
Run Code Online (Sandbox Code Playgroud)

但是,运行状态栏时,颜色会变好,但操作栏仍为黑色.我知道可能有一个简单的答案,但我错过了什么?

这个问题与建议的问题不重复.请删除标志.

Chr*_*ner 5

由于您使用的是AppCompat,因此应使用AppCompat属性,而不是Android系统属性.

更改

android:colorPrimary
Run Code Online (Sandbox Code Playgroud)

colorPrimary
Run Code Online (Sandbox Code Playgroud)

整个事情应该是这样的:

<!-- Base application theme. -->
<style name="AppTheme2" parent="Theme.AppCompat">
    <!-- colorPrimary is used for the default action bar background -->
    <item name="colorPrimary">#FF5722</item>

    <!-- colorPrimaryDark is used for the status bar -->
    <item name="colorPrimaryDark">#E64A19</item>

    <!-- colorAccent is used as the default value for colorControlActivated
         which is used to tint widgets -->
    <item name="colorAccent">#FF9800</item>
</style>
Run Code Online (Sandbox Code Playgroud)