【问题标题】:Replace Android Default Font File替换 Android 默认字体文件
【发布时间】:2016-07-15 12:41:51
【问题描述】:

我读到的大多数应用程序自定义字体的解决方案是制作一个要使用的自定义类。像这样[Question Link]

我并不期待那种花哨的解决方案,而是我想知道如何替换 android 使用的字体。我目前正在使用

<item name="android:fontFamily">sans-serif-condensed</item>

选择一种字体,Android SDK 默认只有几个选项。我想替换sans-serif-condensed所在的文件,这样我放置的新字体将是android在运行时解析的字体。 我怀疑它在我创建项目时创建的 jar 文件上,或者可能在其他地方,因为我真的不知道如何。

如何替换 android 默认字体文件?还有它会在哪里?
如果您尝试过,我将非常感谢您提供的指南或说明。谢谢! :]

【问题讨论】:

标签: java android eclipse fonts xml-parsing


【解决方案1】:

有一个文件fonts.xml 控制字体系列到实际文件的映射。字体文件通常位于文件夹/system/fonts

不过,这两者都不是你可以在没有 root 的情况下控制的,所以如果你想在你的应用程序中使用自定义字体,自定义视图仍然是你最好的选择。

【讨论】:

  • 我已经搜索过了,字体的映射,我在我使用的sdk版本的字体文件夹中找到了字体,尝试用重命名为替换文件的文件替换它,以及相同的文件类型的字体。它不起作用,并且由于每个创建的android项目,都会使用该项目创建一个android.jar文件,我怀疑它在那里,但我不确定,也没有线索。
  • @Yawz 这是因为这个 JAR 文件代表了设备将提供的 Android 框架。您在 PC 上的 JAR 文件会保留在您的 PC 上。 SDK 文件夹中的字体也是如此。您需要替换设备本身上的字体
  • 这是正确答案,因为它解释了原始问题的答案。但是对于解决方案,我发布了另一个答案。 stackoverflow.com/a/53773797/2899410
【解决方案2】:

解决方案

我认为发布此内容会有所帮助,尽管已经很久了。我没有将此作为答案发布,因为实际上有人可能会回答解决方案。另见this

解决这个问题的方法不是我预想的那样,本来是要更换字体文件的,但是像Malcolm's comment here那样,必须更换系统的字体文件,效率很低。

实际上解决了我的问题的更好方法是这里的答案: Is it possible to set a custom font for entire of application?

这是关于在运行时替换字体。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-04
    • 2021-12-29
    • 2014-03-13
    相关资源
    最近更新 更多