Как настроить шрифт субтитров Action Bar?

Я создал ActionBar (android.support.v7.widget.Toolbar) как показано ниже.

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/myToolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?attr/actionBarSize">
</android.support.v7.widget.Toolbar>

В моем ActionBar, кроме заголовка, у меня также есть Subtitle. Однако я хотел бы настроить субтитры. В настройке я имею в виду размер шрифта, цвет и шрифт.

Я пробовал различные темы и стили, но до сих пор безуспешно.

Если есть простой пример того, как это можно сделать, это действительно поможет. Спасибо!

1 ответ

Решение

Если у вас еще нет этого атрибута пространства имен в вашем файле макета, добавьте его:

XMLNS: приложение ="http://schemas.android.com/apk/res-auto"

Обновите атрибуты панели инструментов в файле макета следующим образом:

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/myToolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:titleTextAppearance="@style/ToolbarTitleAppearance"
    app:subtitleTextAppearance="@style/ToolbarSubtitleAppearance"
    android:minHeight="?attr/actionBarSize">
</android.support.v7.widget.Toolbar>

Добавьте стили, подобные этим:

<style name="ToolbarTitleAppearance" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Title">
    <item name="android:textSize">20dp</item>
    <!-- include other attributes you want to change: textColor, textStyle, etc -->
</style>

<style name="ToolbarSubtitleAppearance" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Subtitle">
    <item name="android:textSize">14dp</item>
</style>

Комментарии к этому ответу обсуждают, есть ли единицы для textSize должно быть dp или же sp, Когда я первоначально написал этот ответ, я посмотрел на исходные файлы Android и увидел, что dp использовался. Я рекомендую остаться с этим. Как объясняет в своем комментарии ФранческоДонзелло, размер панели инструментов фиксирован и, в отличие от других виджетов, не будет расширяться, чтобы содержать текст, увеличенный при изменении настроек телефона.

Другие вопросы по тегам