我可以在Android应用程序中嵌入自定义字体吗?


77

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

Answers:


140

是的,您可以,您无法将其定义为xml布局。您需要每次动态使用它。例如,请查看本教程

万一link死了,这里是一个总结:

  • 获取类似的字体文件 times.otf
  • 将其放在资产文件夹的“字体”文件夹中
  • 获取类似的TextView引用:

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

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

    tv.setTypeface(tf);
    

11
希望有一天教程不会消失。
马丁

正如Martin正确指出的那样,如果链接消失了,则需要进行一些编辑。
Sephy 2011年

本教程确实对我有所帮助。这是解决我的问题的最终方法:)
Jay Mayu

在API 2.1设备上进行了尝试。表现不好。我想我的字体可能很大并且导致了内存问题。或类似。我刚刚发现了一些可能可以解决的问题:stackoverflow.com/a/5941665/129202
Jonny 2013年

1
原始教程的副本:web.archive.org/web/20140115015420/http
Bob

3

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.