【问题标题】:Android TextView fontFamily not working when set via TextAppearance通过 TextAppearance 设置时,Android TextView fontFamily 不起作用
【发布时间】:2019-08-16 06:19:44
【问题描述】:

我在通过 TextAppearance 样式设置时使用 android:fontFamily 时遇到问题。

  • 在主题作品中通过 android:fontFamily 设置全局字体
  • 直接在 TextViews 上设置 android:fontFamily 有效(我使用的是 AppCompat,它在从 xml 膨胀期间正确地膨胀 AppCompatTextView,所以这里没有问题)
  • 通过样式设置字体时,它不起作用。任何帮助都感激不尽。我认为这与 AppCompatTextView 处理样式属性的方式有关,但在找到确切的根本原因时运气不佳。
    <style name="TextAppearance.Header">
        <item name="android:fontFamily">@font/headerfont</item>
    </style>

    <TextView
        android:id="@+id/Title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="@style/TextAppearance.Header" />

【问题讨论】:

    标签: android fonts


    【解决方案1】:

    试试这个...希望它会起作用。

        <style name="TextAppearance.Header">
            <item name="android:fontFamily">@font/headerfont</item>
        </style>
    
        <TextView
            android:id="@+id/Title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="@style/TextAppearance.Header" />
    

    【讨论】:

    • 这成功了!只是想弄清楚为什么。这可能是支持库的问题吗?
    • 在这里您试图将一个属性的值设置为另一个。那是不可能的。您必须设置为样式。您不能将字体系列值设置为文本外观。如果您觉得我的回答对您有帮助,请采纳并点赞。
    猜你喜欢
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    相关资源
    最近更新 更多