如何在android中检索可用/已安装字体的列表?

ab1*_*b11 33 java fonts android

在Java中我会做类似的事情:

java.awt.GraphicsEnvironment ge = 
                      java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment();
Font[] fonts = ge.getAllFonts(); 
Run Code Online (Sandbox Code Playgroud)

是否有Android等价物?

mat*_*990 40

摘自Mark Murphy在Android Developers邮件列表中的回答:

http://developer.android.com/reference/android/graphics/Typeface.html

只有三种字体:普通(Droid Sans),衬线(Droid Serif)和monospace(Droid Sans Mono).

虽然某些地方可能存在埋在WebKit中的其他字体,但WebKit之外的开发人员似乎无法访问它们.:-(

唯一的其他字体是您与应用程序捆绑在一起的任何TrueType字体.

编辑:Roboto是Android 4.0附带的新字体.您可以使用此库项目在所有版本中将其用于API级别4 https://github.com/mcalliph/roboto-text-view

  • 我......实际上可以使用它......要欣赏选项的简单性. (5认同)
  • 直到你在网络开发工作,并开始诅咒Android甚至不支持Arial.那太伤心了. (4认同)

Apo*_*los 19

关于实际问题,这里有一种方法来创建所有可用字体的列表:

String path = "/system/fonts";
File file = new File(path);
File ff[] = file.listFiles();
Run Code Online (Sandbox Code Playgroud)

数组ff []将包含所有字体文件.


Col*_*ard 8

作为android的一部分,只有3种字体可用; 正常(Droid Sans),衬线(Droid Serif)和Monospace(Droid Sans Mono).

应用可以包含自己的truetype字体,但不能安装它们供其他应用使用.

关于字体的几个链接: