Измените стиль текста (на полужирный) в ресурсе нестандартного стиля для свертывания макета панели инструментов

Я использую складную панель инструментов в проекте и пытаюсь установить textStyle из развернутого сворачивающегося заголовка панели инструментов выделено жирным шрифтом.

По какой-то причине я могу изменить практически все, используя собственный внешний вид текста, кроме textStyle, У кого-нибудь есть информация по этому вопросу? Мне было трудно искать в интернете. Я пытался программно, но безрезультатно.

<!-- style resource -->
...
<style name="Toolbar_Title" parent="@android:style/TextAppearance.Large">
    <item name="android:fontFamily">sans-serif-condensed</item>
    <item name="android:textColor">@android:color/white</item>
    <item name="android:textSize">@dimen/detail_title_text_size</item>
    <item name="android:textStyle">bold</item>
</style>
...

<!-- layout file -->
...
    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:expandedTitleMarginBottom="16dp"
        app:expandedTitleMarginStart="16dp"
        app:expandedTitleTextAppearance="@style/Toolbar_Title"
        app:layout_scrollFlags="scroll|exitUntilCollapsed|snap">
...

1 ответ

Решение

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

mCollapsingToolbarLayout.setExpandedTitleTypeface(Typeface.create(mCollapsingToolbarLayout.getExpandedTitleTypeface(), Typeface.BOLD));

Атрибут textStyle похоже, не учитывается сворачивающейся панелью инструментов.

Недостатком является то, что сворачивающаяся панель инструментов по умолчанию увеличивает размер заголовка, что в некоторых случаях может быть нежелательным.

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