ActionBar text color

后端 未结 24 2591
日久生厌
日久生厌 2020-11-22 05:31

how can I change the text color of the ActionBar? I\'ve inherited the Holo Light Theme, I\'m able to change the background of the ActionBar but I don\'t find out what is the

相关标签:
24条回答
  • 2020-11-22 06:05

    The most simple way is :
    Add these two lines to your styles.xml file

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    ...
    <item name="android:textColorSecondary">@color/white</item>
    <item name="android:textColor">@color/white</item>
    </style>
    

    Replace the color with your color.

    0 讨论(0)
  • 2020-11-22 06:06

    Try adding this in your Activity's onCreate. Works on almost every Android version.

     actionBar.setTitle(Html.fromHtml("<font color='#ffff00'>Your Title</font>"));  
    

    or

    getSupportActionBar().setTitle(Html.fromHtml("<font color='#ffff00'>Your Title</font>"));
    
    0 讨论(0)
  • 2020-11-22 06:09

    I was having the same problem as you, it's a Holo.Light theme but I wanted to style the ActionBar color, so I needed to change the text color as well and also both Title and Menus. So at the end I went to git hub and looked at source code until I find the damn correct style:

    <?xml version="1.0" encoding="utf-8"?>
    <!-- For honeycomb and up -->
    <resources>
    
        <style name="myTheme" parent="@android:style/Theme.Holo.Light">
            <item name="android:actionBarStyle">@style/myTheme.ActionBar</item>
            <item name="android:actionMenuTextColor">@color/actionBarText</item>
        </style>
    
        <style name="myTheme.ActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
            <item name="android:background">@drawable/actionbarbground</item>
            <item name="android:titleTextStyle">@style/myTheme.ActionBar.Text</item>
        </style>
    
        <style name="myTheme.ActionBar.Text" parent="@android:style/TextAppearance">
            <item name="android:textColor">@color/actionBarText</item>
        </style>
    
    </resources>
    

    so now all you have to do is set whatever @color/actionBarText and@drawable/actionbarbground you want!

    0 讨论(0)
  • 2020-11-22 06:09

    This function works well

    private void setActionbarTextColor(ActionBar actBar, int color) {
    
        String title = actBar.getTitle().toString();
        Spannable spannablerTitle = new SpannableString(title);
        spannablerTitle.setSpan(new ForegroundColorSpan(color), 0, spannablerTitle.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        actBar.setTitle(spannablerTitle);
    
    }
    

    then to use it just feed it your action bar and the new color ie

    ActionBar actionBar = getActionBar();    // Or getSupportActionBar() if using appCompat
    int red = Color.RED
    setActionbarTextColor(actionBar, red);
    
    0 讨论(0)
  • 2020-11-22 06:09

    Try a lot of methods, in the low version of the API,a feasible method is <item name="actionMenuTextColor">@color/your_color</item> and don't use the Android namespace,hope can help you

    ps:

      <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="actionMenuTextColor">@color/actionMenuTextColor</item>
    </style>
    
    0 讨论(0)
  • 2020-11-22 06:10

    Ok, I've found a better way. I'm now able to only change the color of the title. You can also tweak the subtitle.

    Here is my 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>
    
    0 讨论(0)
提交回复
热议问题