Android Can';t更改折叠工具栏的字体样式

Android Can';t更改折叠工具栏的字体样式,android,toolbar,Android,Toolbar,我有一个包含折叠工具栏的布局,里面是ImageView和工具栏 并希望更改标题的默认字体。我制作了以下样式,并将其应用于折叠工具栏和工具栏 <style name="ToolbarTheme" parent="ThemeOverlay.AppCompat.Dark"> <item name="android:fontFamily">sans-serif-black</item>

我有一个包含折叠工具栏的布局,里面是ImageView和工具栏 并希望更改标题的默认字体。我制作了以下样式,并将其应用于折叠工具栏和工具栏

    <style name="ToolbarTheme" parent="ThemeOverlay.AppCompat.Dark">
    <item name="android:fontFamily">sans-serif-black</item>
    </style>

无衬线黑色
AppBar的布局

 <com.google.android.material.appbar.AppBarLayout
        android:layout_width="match_parent"
        android:fitsSystemWindows="true"
        android:layout_height="200dp">

        <com.google.android.material.appbar.CollapsingToolbarLayout
            android:id="@+id/collapsing_toolbar"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            app:contentScrim="@color/fuel_yellow"
            android:theme="@style/ToolbarTheme"
            app:popupTheme="@style/ToolbarTheme"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <ImageView
                android:layout_width="match_parent"
                android:layout_height="200dp"
                android:scaleType="centerCrop"
                android:fitsSystemWindows="true"
                android:src="@drawable/noclegi"/>

            <androidx.appcompat.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_scrollFlags="scroll|enterAlways"
                android:fitsSystemWindows="true"
                app:layout_collapseMode="pin"/>

        </com.google.android.material.appbar.CollapsingToolbarLayout>
    </com.google.android.material.appbar.AppBarLayout>


除标题和导航图标颜色外,其他内容不变。问题出在哪里?

要更改折叠工具栏布局的字体样式,可以使用属性app:expandedtitletextearanceapp:collapsedtitletextearance并使用自定义字体样式

折叠工具栏如下所示:

<com.google.android.material.appbar.CollapsingToolbarLayout
      android:id="@+id/collapsing_toolbar"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:expandedTitleTextAppearance="@style/MyExpandedTitle"
      app:collapsedTitleTextAppearance="@style/MyCollapsedTitle">
<style name="MyExpandedTitle" parent="@style/TextAppearance.Design.CollapsingToolbar.Expanded">
    <item name="android:fontFamily">sans-serif-black</item>
</style>

<style name="MyCollapsedTitle" parent="@style/TextAppearance.AppCompat.Title">
    <item name="android:fontFamily">sans-serif-black</item>
</style>
<style name="MyExpandedTitle" parent="@style/TextAppearance.Design.CollapsingToolbar.Expanded">
   <item name="fontFamily">@font/roboto_regular</item>
   <item name="android:fontFamily">@font/roboto_regular</item>
</style>

<style name="MyCollapsedTitle" parent="@style/TextAppearance.AppCompat.Title">
   <item name="fontFamily">@font/roboto_regular</item>
   <item name="android:fontFamily">@font/roboto_regular</item>
</style>

其中@style/MyExpandedTitle和@style/MyCollapsedTitle将是您的自定义文本外观样式,如下所示:

<com.google.android.material.appbar.CollapsingToolbarLayout
      android:id="@+id/collapsing_toolbar"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:expandedTitleTextAppearance="@style/MyExpandedTitle"
      app:collapsedTitleTextAppearance="@style/MyCollapsedTitle">
<style name="MyExpandedTitle" parent="@style/TextAppearance.Design.CollapsingToolbar.Expanded">
    <item name="android:fontFamily">sans-serif-black</item>
</style>

<style name="MyCollapsedTitle" parent="@style/TextAppearance.AppCompat.Title">
    <item name="android:fontFamily">sans-serif-black</item>
</style>
<style name="MyExpandedTitle" parent="@style/TextAppearance.Design.CollapsingToolbar.Expanded">
   <item name="fontFamily">@font/roboto_regular</item>
   <item name="android:fontFamily">@font/roboto_regular</item>
</style>

<style name="MyCollapsedTitle" parent="@style/TextAppearance.AppCompat.Title">
   <item name="fontFamily">@font/roboto_regular</item>
   <item name="android:fontFamily">@font/roboto_regular</item>
</style>

无衬线黑色
无衬线黑色
或者,如果您想使用自定义字体,则如下所示:

<com.google.android.material.appbar.CollapsingToolbarLayout
      android:id="@+id/collapsing_toolbar"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:expandedTitleTextAppearance="@style/MyExpandedTitle"
      app:collapsedTitleTextAppearance="@style/MyCollapsedTitle">
<style name="MyExpandedTitle" parent="@style/TextAppearance.Design.CollapsingToolbar.Expanded">
    <item name="android:fontFamily">sans-serif-black</item>
</style>

<style name="MyCollapsedTitle" parent="@style/TextAppearance.AppCompat.Title">
    <item name="android:fontFamily">sans-serif-black</item>
</style>
<style name="MyExpandedTitle" parent="@style/TextAppearance.Design.CollapsingToolbar.Expanded">
   <item name="fontFamily">@font/roboto_regular</item>
   <item name="android:fontFamily">@font/roboto_regular</item>
</style>

<style name="MyCollapsedTitle" parent="@style/TextAppearance.AppCompat.Title">
   <item name="fontFamily">@font/roboto_regular</item>
   <item name="android:fontFamily">@font/roboto_regular</item>
</style>

@字体/机械手
@字体/机械手
@字体/机械手
@字体/机械手

这可以通过编程方式自定义到
工具栏
它工作得很好:)删除导航图中的标签并在折叠工具栏中设置标题很重要。