【发布时间】:2023-03-22 05:45:02
【问题描述】:
我最近创建了一个在整个应用程序中使用自定义字体包的应用程序。但是当我使用 ActionMode 时,标题并没有使用自定义字体。那么有谁知道我如何将自定义字体应用于 ActionMode 的标题?
Action Mode 标题的字体与应用中的其他 TextView 不匹配。
见下图
【问题讨论】:
标签: android titlebar custom-font android-actionmode
我最近创建了一个在整个应用程序中使用自定义字体包的应用程序。但是当我使用 ActionMode 时,标题并没有使用自定义字体。那么有谁知道我如何将自定义字体应用于 ActionMode 的标题?
Action Mode 标题的字体与应用中的其他 TextView 不匹配。
见下图
【问题讨论】:
标签: android titlebar custom-font android-actionmode
您可以使用自定义 actionMode style 更改 actionMode 标题字体
首先创建自定义样式
<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>
【讨论】:
我将搜索“主题”相关属性来更改操作栏字体,因为我相信它与此相关。这是一个类似问题的链接:How can I customize the Action Mode's color and text?
它使用 'Size' 属性来完成这项工作。
<style name="Widget.ActionMode">
<item name="android:background">?android:attr/actionModeBackground</item>
<item name="android:backgroundSplit">?android:attr/actionModeSplitBackground</item>
<item name="android:height">?android:attr/actionBarSize</item>
<item name="android:titleTextStyle">@android:style/TextAppearance.Widget.ActionMode.Title</item>
<item name="android:subtitleTextStyle">@android:style/TextAppearance.Widget.ActionMode.Subtitle</item>
</style>
【讨论】: