将自定义样式资源中的文本样式(为粗体)更改为折叠工具栏布局

Ely*_*Ely 6 android textstyle android-collapsingtoolbarlayout

我在一个项目中使用可折叠工具栏,我试图textStyle将展开的折叠工具栏标题设置为bold

出于某种原因,我可以使用自定义文本外观更改几乎任何内容,除了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">
...
Run Code Online (Sandbox Code Playgroud)

Ely*_*Ely 5

这个对我有用。在布局文件中为折叠工具栏定义了文本外观后,我可以使用该setExpandedTitleTypeface功能为当前使用的字体添加粗体样式:

mCollapsingToolbarLayout.setExpandedTitleTypeface(Typeface.create(mCollapsingToolbarLayout.getExpandedTitleTypeface(), Typeface.BOLD));
Run Code Online (Sandbox Code Playgroud)

textStyle折叠工具栏似乎没有考虑该属性。

一个缺点是默认情况下折叠工具栏会省略标题,这在某些情况下可能不是所需的行为。