首页 > 解决方案 > 为什么 CollapsingToolbarLayout 中工具栏标题的字体和颜色没有变化?

问题描述

我很难让它工作。它仅适用于 sans-seriff 等默认字体。任何导入的字体都适用于所有文本视图,但不适用于折叠工具栏。请帮忙。

样式.xml

<style name="AppBarTitleStyle" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:fontFamily">@font/amatica_sc_reg</item>
    <item name="android:titleTextColor">@android:color/white</item>
</style>

折叠工具栏.xml

   <com.google.android.material.appbar.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="308dp"
        android:background="@color/color_secondary"
        app:expanded="false">

        <com.google.android.material.appbar.CollapsingToolbarLayout
            android:id="@+id/collapsingtoolbarid"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/colliding"
            app:contentScrim="?attr/colorPrimary"
            app:expandedTitleMarginEnd="64dp"
            app:expandedTitleMarginStart="48dp"
            app:layout_scrollFlags="exitUntilCollapsed|scroll|snap"
            app:title="Learn Miwok"
            app:expandedTitleTextAppearance="@style/AppBarTitleStyle"
            app:collapsedTitleTextAppearance="@style/AppBarTitleStyle">
 <androidx.appcompat.widget.Toolbar
                android:id="@+id/toolbarid"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin">

            </androidx.appcompat.widget.Toolbar>

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

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

标签: javaandroidxml

解决方案


您可以使用以下代码使用 java 添加字体

final Typeface tf = Typeface.createFromAsset(context.getAssets(), "fonts/amatica_sc_reg");
collapsingToolbar.setCollapsedTitleTypeface(tf);
collapsingToolbar.setExpandedTitleTypeface(tf);

推荐阅读