我可以更改操作栏背景颜色。但是我无法改变文字颜色,我怎么能这样做?

时间:2013-11-06 08:46:57

标签: android android-actionbar

我的themes.xml文件是..

 <?xml version="1.0" encoding="utf-8"?>
  <resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
   <item name="android:textColor">@style/MyActionBar1</item>
</style>

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


</style>

那么如何更改动作栏中文字的颜色?上面的代码不起作用。它只改变背景颜色。

  <style name="MyActionBar1" parent="@android:style/Widget.Holo.Light.ActionBar">

      <item name="android:">#000000</item>

</style>

5 个答案:

答案 0 :(得分:1)

这可以帮助你.... styles.xml

 <?xml version="1.0" encoding="utf-8"?>
    <resources>
      <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
      </style>

      <style name="MyTheme.ActionBarStyle"parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
      </style>

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

答案 1 :(得分:0)

使用此

android:textColor="#FFFFFF"

答案 2 :(得分:0)

 <item name="android:textColor">#fe4647</item>

答案 3 :(得分:0)

您可以使用类似

的样式设置属性
<style name="MyActionBar1" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:textSize">13sp</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textColor">#ffffff</item>
    </style>

答案 4 :(得分:0)

据我所知,动作栏标题的ID是隐藏的。 所以首先你必须像这样获取Action Bar的id:

int ActionBarTitleID = Resources.getSystem().getIdentifier("action_bar_title", "id", "android");

现在在此ID上使用settext,如

TextView yourTextView = (TextView)findViewById(ActionBarTitleID);
yourTextView.setTextColor(colorId);