【问题标题】:Change action bar Title font & color更改操作栏标题字体和颜色
【发布时间】:2016-12-06 08:42:23
【问题描述】:

我想更改我的操作栏标题字体和颜色。所以现在我在做这个代码。我也在使用 typekit 库。我不知道为什么现在不改变 请给我一些建议

  <style name="AppTheme" parent="Theme.AppCompat.Light">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorCyanAzure</item>
    <item name="colorPrimaryDark">@color/colorWhite</item>
    <item name="colorAccent">@color/colorMelon</item>
    <item name="android:actionBarStyle">@style/AppTheme.MyActionBar</item>
</style>

<style name="AppTheme.MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
    <item name="android:titleTextStyle">@style/MyTheme.MyActionBar.TitleTextStyle</item>
</style>

<style name="MyTheme.MyActionBar.TitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/colorWhite</item>
    <item name="android:textStyle">normal</item>
</style>

【问题讨论】:

  • 你在你的价值观中定义了@color/colorWhite 吗?
  • 我建议您自己创建操作栏,而不是使用默认的或自定义它!只需不使用操作栏主题,然后自己制作一个:) @Anthony Kim
  • @Vinodh 是的,已经定义了

标签: java android fonts android-actionbar


【解决方案1】:

将 Theme.AppCompat.Light 更改为 Theme.AppCompat.Light.DarkActionBar 并尝试如下代码

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

<style name="AppTheme.MyActionBar"parent="@style/Widget.AppCompat.ActionBar.Solid">
    <item name="titleTextStyle">@style/MyTitleTextStyle</item>
</style>

<style name="MyTheme.MyActionBar.TitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:textColor">@color/colorWhite</item>
    <item name="android:textStyle">normal</item>
</style>

【讨论】:

    【解决方案2】:

    您可以使用工具栏。当您有对工具栏的引用并且想要设置标题的样式时,您可以这样做

    TextView textView = (TextView)toolbar.getChildAt(0);
    //set the font and font color.  
    

    如果您在工具栏中有更多孩子,您可能需要循环并找到您想要设置样式的孩子

    【讨论】:

      最近更新 更多