首页 > 解决方案 > 更改自定义样式资源中的文本样式(变为粗体)以折叠工具栏布局

问题描述

我在项目中使用可折叠工具栏,并尝试将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">
...

标签: androidandroid-collapsingtoolbarlayouttextstyle

解决方案


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

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

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

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


推荐阅读