更改操作栏文本颜色Android

时间:2014-10-13 22:00:22

标签: android android-actionbar textcolor

我一直在阅读论坛并尝试不同的技巧来尝试更改Android栏中的文字颜色,但我没有成功。当我将文本颜色设置为标题时,不会发生任何更改。行动有人可以协助吗?

的strings.xml

  <?xml version="1.0" encoding="utf-8"?>
  <resources>

     <string name="app_name">Welcome</string>
     <string name="action_settings">Settings</string>
     <string name="hello_world">Hello world!</string>
     <string name="drawer_open">Slider Menu Opened</string>
     <string name="drawer_close">Slider Menu Closed</string>

     <!-- Nav Drawer Menu Items -->
     <string-array name="nav_drawer_items">
     <item >Home</item>
     <item >People</item>
     <item >Photos</item>
     <item >Communities</item>
     <item >Pages</item>
     <item >Whats Hot</item>
   </string-array>

     <!-- Nav Drawer List Item Icons -->
     <!-- Keep them in order as the titles are in -->
     <array name="nav_drawer_icons">
     <item>@drawable/ic_home</item>
     <item>@drawable/ic_people</item>
     <item>@drawable/ic_photos</item>
     <item>@drawable/ic_communities</item>
     <item>@drawable/ic_pages</item>
     <item>@drawable/ic_whats_hot</item>
   </array>

    <!-- Content Description -->
    <string name="desc_list_item_icon">Item Icon</string>

  </resources>

Color.xml

  <?xml version="1.0" encoding="utf-8"?>
  <resources>
     <color name="list_item_title">#fff</color>
     <color name="list_background">#3C536B</color>
     <color name="list_background_pressed">#FFD34B</color>
     <color name="list_divider">#fff</color>
     <color name="counter_text_bg">#626262</color>
    <color name="counter_text_color">#c5c4c4</color>  
 </resources>

Styles.xml

   <?xml version="1.0" encoding="utf-8"?>
     <resources>
     <style name="MyCustomTheme" parent="@android:style/Theme.Holo.Light">
       <item name="android:actionBarStyle">@style/MyActionBarTheme</item>
       <item name="android:textColor">#FFFFFF</item>
    </style>


     <style name="TitleBarTextColor" parent="@android:style/Widget.Holo.Light.ActionBar">
     <item name="android:actionMenuTextColor">#FFFFFF</item>
   </style>


    <style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light.ActionBar">
     <item name="android:background">#3C536B</item>


   </style>
</resources>

2 个答案:

答案 0 :(得分:0)

[简而言之:Android Info Link]

讽刺的是,我最近才解决了这个问题。

简单地说,它的工作原理如下: 1)您的应用程序[或活动]实现主题/风格 2)您的主题实现了一个动作栏主题/风格 3)您的操作栏主题/样式实现文本外观主题/样式[确定颜色]

现有代码存在的问题是您的操作栏主题没有实现文本外观样式。可能的解决方案如下:

<!-- The main theme/style which should be in use already -->
<style name="MyCustomTheme" parent="@android:style/Theme.Holo.Light">
   <item name="android:actionBarStyle">@style/MyActionBarTheme</item>

   <!-- Not necessary for this exact purpose --> 
   <item name="android:textColor">#FFFFFF</item>
</style>

<style name="MyActionBarTheme" parent="@android:style/Widget.Holo.Light.ActionBar">
 <item name="android:background">#3C536B</item>

 <!-- The new, important part! -->
 <item name="android:titleTextStyle">@style/Title</item>
</style>

<style name="Title" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
 <item name="android:textColor">@color/colorName</item>
</style>

答案 1 :(得分:0)

试试这个,

<resources xmlns:android="http://schemas.android.com/apk/res/android">

<style name="ThemeSelector" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/myTheme.ActionBar</item>        
</style>

<style name="myTheme.ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:background">@drawable/lblue</item>
    <item name="android:titleTextStyle">@style/myTheme.ActionBar.Text</item>
    <item name="android:height">@dimen/app_head_height</item>
</style>

<style name="myTheme.ActionBar.Text" parent="@android:style/TextAppearance">
    <item name="android:textColor">@color/white</item>
    <item name="android:textSize">@dimen/app_head</item>
</style>