Подтвердить что ты не робот

Шрифт для CollapsingToolbarLayout

Есть ли способ установить шрифт для CollapsingToolbarLayout? Я использую каллиграфию, но мой шрифт по умолчанию не применяется.

Я думаю, что проблема заключается в том, что класс CollapsingTextHelper использует Canvas.drawText() вместо TextView.

Как изменить шрифт по умолчанию, который используется для Canvas.drawText()?

4b9b3361

Ответ 1

Начиная с одного из последних обновлений API, пакет Design Design был обновлен и теперь можно установить шрифт сворачиваемого заголовка.

Используйте setCollapsedTitleTypeFace(Typeface typeface) и setExpandedTitleTypeFace(Typeface typeface), чтобы установить свой собственный шрифт.

Ответ 2

Вы можете изменить внешний вид текста заголовка CollapsingToolbarLayout следующим образом:

1) Убедитесь, что вы используете compile 'com.android.support:design:22.2.1' в ваших зависимостях build.gradle.

2) Используйте extendedTitleTextAppearance следующим образом:

<android.support.design.widget.CollapsingToolbarLayout
                android:id="@+id/collapsing_toolbar"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                app:layout_scrollFlags="scroll|exitUntilCollapsed"
                android:fitsSystemWindows="true"
                app:contentScrim="@color/myPrimaryColor"
                app:expandedTitleMarginStart="48dp"
                app:expandedTitleMarginEnd="64dp"
                app:expandedTitleTextAppearance="@style/HeaderTitleStyle">

3) Определите HeaderTitleStyle в файле стилей:

<style name="HeaderTitleStyle" parent="@android:style/TextAppearance">
    <item name="android:textColor">#FFFFFF</item>
    <item name="android:textSize">20sp</item>
</style>

Ответ 3

Это возможно. Фактически, по умолчанию шрифт заголовка, когда он рушится, отличается от того, который отсутствует при его отсутствии.

Итак, чтобы изменить это, например, вы можете сделать как таковое:

файл стилей

<style name="TextAppearance.Collapsed"
    parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
    <item name="android:fontFamily">sans-serif</item>
</style>

файл макета

<android.support.design.widget.CollapsingToolbarLayout
    app:collapsedTitleTextAppearance="@style/TextAppearance.Collapsed">
    ...
</android.support.design.widget.CollapsingToolbarLayout>

Аналогичная вещь может быть выполнена для стиля, когда он не рухнул ( "extendedTitleTextAppearance" ).