Android操作栏自定义不会更改颜色

问题描述

我正在尝试在Android应用程序中自定义操作栏。以下是我的javaScript.html中的内容

styles.xml

我有

<style name="MyTheme" parent="Theme.AppCompat.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="Widget.AppCompat.Light.ActionBar">
    <item name="backgroundColor">#000000</item>
</style>

在我的 <activity android:name=".MainActivity" android:theme="@style/MyTheme"> 中。

我希望这会使操作栏变黑。但是,这不会发生,操作栏保持白色。对于任何指出为什么我的期望与现实不符的指示,我将感到非常高兴。如果需要,我很乐意提供更多详细信息。

解决方法

如果您使用的是ActionBar,则可以在应用程序主题中使用 actionBarStyle 属性:

 <style name="AppTheme" parent="Theme.AppCompat.Light">
      <item name="actionBarStyle">@style/MyActionBar</item>
 </style>

  <style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
       <item name="background">#000000</item>
  </style>

您还可以使用 actionBarTheme 属性:

  <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
     <item name="actionBarTheme">@style/ThemeOverlay.ActionBar</item>
  </style>


  <style name="ThemeOverlay.ActionBar" parent="">
        <item name="colorPrimary">#000000</item>
  </style>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...