【问题标题】:ActionMode Title FontActionMode 标题字体
【发布时间】:2023-03-22 05:45:02
【问题描述】:

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

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

见下图

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

【问题讨论】:

    标签: android titlebar custom-font android-actionmode


    【解决方案1】:

    您可以使用自定义 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>
    

    【讨论】:

      【解决方案2】:

      我将搜索“主题”相关属性来更改操作栏字体,因为我相信它与此相关。这是一个类似问题的链接: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>
      

      【讨论】:

      • 这不是一个真正的答案,您应该将其作为评论或自己进行搜索并显示您找到的内容。
      • 我想发表评论,但系统不允许。我想指出正确的方向
      • 它改变文本的颜色和大小,但不改变字体:/
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多