Шрифт для CollapsingToolbarLayout
Есть ли способ установить шрифт для CollapsingToolbarLayout
?
Я использую каллиграфию, но мой шрифт по умолчанию не применяется.
Я думаю, что проблема заключается в том, что класс CollapsingTextHelper
использует Canvas.drawText()
вместо TextView
.
Как изменить шрифт по умолчанию, который используется для Canvas.drawText()
?
Ответы
Ответ 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" ).