【问题标题】:Setting custom font after having set TextAppearance in XML, doesn't work在 XML 中设置 TextAppearance 后设置自定义字体不起作用
【发布时间】:2019-02-27 14:39:45
【问题描述】:

我有这个文本视图:

<TextView
    android:id="@+id/titleTextView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="@style/Paragraph3"
    tools:text="Título"/>

并尝试在此之后以编程方式应用自定义字体,使用此扩展:

fun TextView.setCustomFont(font: Int) {
   typeface = ResourcesCompat.getFont(context, font)
}

但它不起作用,如果我从 XML 中删除 textAppearence 一切正常。

有什么想法吗?

更新 1

已经按照文档设置字体: https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml

【问题讨论】:

  • 样式会覆盖随后的任何自定义字体更改。您是否尝试过改用 fontFamily 属性?
  • 这种风格不仅仅是字体配置。我需要一种方法来设置整个样式而不会丢失上下文并在需要时更改字体。
  • 我假设您已经下载了适当的字体并将它们放在适当的 res 文件夹中?
  • 已经正确配置并在其他地方使用。只是当我执行上述情况时,我的扩展程序不起作用
  • 您可以编辑样式吗?如果是,只需从那里删除字体属性并尝试改用 fontFamily。

标签: android


【解决方案1】:

我解决了从 XML 中删除 textAppearence 并在我的代码中执行 setTextAppearence 的问题。由于 textAppearence xml 属性似乎覆盖了所有字体自定义。

这似乎可以管理它。

【讨论】:

  • 这不是一个真正的答案
猜你喜欢
  • 1970-01-01
  • 2018-01-15
  • 1970-01-01
  • 2012-07-13
  • 2015-10-17
  • 1970-01-01
  • 2012-11-27
  • 2012-11-22
  • 1970-01-01
相关资源
最近更新 更多