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

在Java中,我会做这样的事情:

java.awt.GraphicsEnvironment ge = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(); Font[] fonts = ge.getAllFonts(); 

有没有Android的等价物?

Mark Murphy在Android开发者邮件列表上的回答:

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

只有三种字体:普通(Droid Sans),衬线(Droid Serif)和等宽(Droid Sans Mono)。

尽pipeWebKit中可能还有其他字体,但WebKit之外的开发人员似乎无法访问这些字体。 🙁

唯一的其他字体是与您的应用程序绑定的任何TrueType字体。

编辑:Roboto是一个新的字体与Android 4.0进来。 您可以使用这个库项目在所有版本中使用它回到API级别4 https://github.com/mcalliph/roboto-text-view

关于实际的问题,这里是创build一个所有可用的字体安装列表的方法:

 String path = "/system/fonts"; File file = new File(path); File ff[] = file.listFiles(); 

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

Android中只有3种可用的字体; 正常(Droid Sans),衬线(Droid Serif)和等宽(Droid Sans Mono)。

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

几个关于字体的链接:

Android包含3种基本字体,但与iOS不同的是,您可以使用任何您喜欢的字体。 您可以简单地将其embedded到您的应用程序中,而不是像苹果那样仅限于预设的字体列表(Apple不允许embedded字体)。 很方便。

请注意,这是为Android本身,但networking浏览器(包括基本预安装的Android网页浏览器)确实支持所有标准的HTML字体。