支持Android V7工具栏setTitleTextAppearance不工作(Android S

2019-10-21 10:28发布

我试图改变工具栏的标题的字体。 这里是我的工具栏布局:

<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="?attr/actionBarSize"
    android:background="#666666"
    app:titleTextAppearance="@style/MyText"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>

在我styles.xml

<style name="MyText">
    <item name="fontPath">fonts/myFont.ttf</item>
</style>

如果我不设置app:titleTextAppearance ,工具栏使用系统字体。 当我将它设置,字体变小,但它仍然是系统中的字体。 难道我做错了什么?

任何建议,意见或答案大加赞赏。

编辑:

我试着动风格styles-text.xml但没有运气

EDIT2:

现在,我使用的是SpannableString和TypefaceSpan ,使这项工作。 希望它可以帮助别人。

Answer 1:

这工作:

<android.support.v7.widget.Toolbar 
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"

   android:layout_height="wrap_content"
   android:layout_width="match_parent"
   app:titleTextAppearance="@style/ActionBarTitleStyle"/>

然后让这个在styles.xml

<style name="ActionBarTitle" parent="android:Widget.TextView">

    <!-- The action bar title font -->
    <item name="android:fontFamily">sans-serif-light</item>

    <!-- Customizes the color of the action bar title-->
    <item name="android:textColor">#FF0000</item>

    <!-- Customizes the size of the action bar title-->
    <item name="android:textSize">24sp</item>

</style>


Answer 2:

在我的情况下,字体:家庭仅适用,如果我使用“ 机器人:titleTextAppearance”,而不是“ 应用程序:titleTextAppearance”但对于API 21或更高这只作品



文章来源: Android Support v7 Toolbar setTitleTextAppearance not working