【问题标题】:Android action bar custom color in styles样式中的Android操作栏自定义颜色
【发布时间】:2015-02-25 19:43:34
【问题描述】:

我已尝试以 100 种方式更改操作栏的颜色,但还是一样。这是我的代码:

<resources>

<!-- Base application theme. -->

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="android:statusBarColor">#00B0FF</item>
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    <item name="android:background">#ffffff</item>
</style>

谁能解释我的错误在哪里?

【问题讨论】:

标签: java android xml colors android-actionbar


【解决方案1】:

如果你是扩展材料设计 api 21 => take a look

<resources>
    <!-- inherit from the material theme -->
    <style name="AppTheme" parent="android:Theme.Material">
      <!-- Main theme colors -->
      <!--   your app branding color for the app bar -->
      <item name="android:colorPrimary">@color/primary</item>
      <!--   darker variant for the status bar and contextual app bars -->
      <item name="android:colorPrimaryDark">@color/primary_dark</item>
      <!--   theme UI controls like checkboxes and text fields -->
      <item name="android:colorAccent">@color/accent</item>
    </style>
</resources>

但如果你是扩展 AppCompat => take a look

<resources>
    <!-- inherit from App Compat theme -->
    <style name="AppTheme" parent="Theme.AppCompat.Light"">
      <!-- Main theme colors -->
      <!--   your app branding color for the app bar -->
      <item name="colorPrimary">@color/primary</item>
      <!--   darker variant for the status bar and contextual app bars -->
      <item name="colorPrimaryDark">@color/primary_dark</item>
      <!--   theme UI controls like checkboxes and text fields -->
      <item name="colorAccent">@color/accent</item>
    </style>
</resources>

我们现在在所有平台上都使用 Toolbar/ActionBar 的支持实现,这意味着我们不再读取任何与操作栏相关的 android: 属性。克里斯·班斯

【讨论】:

    【解决方案2】:

    试试这个:

    <resources>
    
    <!-- Base application theme. -->
    
    <style name="AppTheme" parent="Theme.AppCompat.Light">
        <!-- Customize your theme here. -->
        <item name="android:statusBarColor">#00B0FF</item>
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>
    
    <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">#ffffff</item>
    </style>
    

    【讨论】:

    • 它不会改变任何东西
    • 你必须修复很多东西:扩展ActionBarActivity,使用getSupportActionBar()
    【解决方案3】:

    请在 value-v14 中尝试此代码,并在 Munifest.xml 中选择主题作为 myAppTheme

     <style name="ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    
        <item name="android:background">@color/color1</item>
        <item name="android:backgroundStacked">@color/color1</item>
        <item name="android:backgroundSplit">@color/color1</item>
        <item name="android:statusBarColor">@color/staus_bar_color</item>
     </style>
     <style name="myAppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/ActionBar</item>
      </style>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2014-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-23
      • 1970-01-01
      相关资源
      最近更新 更多