首页 > 解决方案 > ActionMode 标题字体

问题描述

我最近创建了一个在整个应用程序中使用自定义字体包的应用程序。但是当我使用 ActionMode 时,标题并没有使用自定义字体。那么有谁知道我如何将自定义字体应用于 ActionMode 的标题?

Action Mode 标题的字体与应用中的其他 TextView 不匹配。

见下图

https://photos.app.goo.gl/cP1uuHkzHkWshabY7

标签: androidtitlebarcustom-fontandroid-actionmode

解决方案


您可以使用自定义更改 actionMode 标题字体actionMode style

首先创建自定义样式

<style name="ActionMode" parent="@style/Widget.AppCompat.ActionMode">
    <item name="titleTextStyle">@style/ActionMode.Title</item>
    <item name="android:titleTextStyle">@style/ActionMode.Title</item>
</style>
<style name="ActionMode.Title" parent="@style/TextAppearance.AppCompat.Widget.ActionMode.Title">
    <item name="android:textColor">your color</item>
    <item name="fontFamily">@font/yourfont</item>
    <item name="android:fontFamily">@font/your font</item>
    <item name="textSize">15sp</item>
    <item name="android:textSize">15sp</item>
</style>

现在进入你的主要风格style.xml

<style name="Theme.Tarif.Light" parent="Theme.MaterialComponents.Light.NoActionBar">
    <item name="windowActionModeOverlay">true</item>
    <item name="android:windowLayoutInDisplayCutoutMode" tools:targetApi="p">shortEdges</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="colorPrimary">@color/light_primary</item>
    <item name="colorPrimaryDark">@color/light_primary</item>
    <item name="colorAccent">@color/green_500</item>
    <item name="android:windowBackground">@color/light_primary</item>

    <!--ActionMode-->
    <item name="actionModeStyle">@style/ActionMode</item>

</style>

推荐阅读