【问题标题】:Can I embed a custom font in an Android application?我可以在 Android 应用程序中嵌入自定义字体吗?
【发布时间】:2011-03-26 08:20:49
【问题描述】:

我想让一个应用程序包含一个用于呈现文本的自定义字体,加载它,然后将它与标准元素(如 StaticText)一起使用。这可能吗?

【问题讨论】:

    标签: android fonts


    【解决方案1】:

    是的,你可以,你只是不能将它定义到 xml 布局中。您每次都需要动态使用它。例如检查this tutorial

    如果链接失效,这里是一个总结:

    • 获取像times.otf这样的字体文件
    • 将其放入您的资产文件夹中的“字体”文件夹中
    • 使用类似的方式获取 TextView 的引用:

      TextView tv = (TextView) findViewById(R.id.myCustomTVFont);
      
    • 从资产文件夹中获取字体:

      Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/times.otf");
      
    • 让你的 TextView 看起来很棒:

      tv.setTypeface(tf);
      

    【讨论】:

    • 希望教程不会有一天消失。
    • 正如 Martin 正确指出的那样,这需要稍作修改,以防链接失效。
    • 本教程确实帮助了我。这是我的问题的最终解决方案:)
    • 在 API 2.1 设备上尝试过。效果不好。我想也许我的字体很大并导致了内存问题。或类似的。我刚刚发现了一些可能可以解决的问题:stackoverflow.com/a/5941665/129202
    【解决方案2】:

    从 Android 8.0(API 级别 26)开始,您可以在 XML 中使用字体。请参阅文档here

    【讨论】:

      【解决方案3】:

      您也可以查看此thread 并为您的活动中的所有视图设置自定义字体。

      【讨论】:

      • 与该问题的另一个答案一样,如果线程的重要内容在问题内,那将非常方便,以防有一天链接失效。
      猜你喜欢
      • 2010-09-26
      • 2018-03-10
      • 2016-04-11
      • 2011-03-01
      • 2023-01-19
      • 1970-01-01
      • 1970-01-01
      • 2018-05-29
      • 2015-06-27
      相关资源
      最近更新 更多