在Java中我会做类似的事情:
java.awt.GraphicsEnvironment ge =
java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment();
Font[] fonts = ge.getAllFonts();
是否有Android等价物?
答案 0 :(得分:40)
取自Mark Murphy在Android Developers邮件列表中的回答:
http://developer.android.com/reference/android/graphics/Typeface.html
只有三种字体:正常 (Droid Sans),serif(Droid Serif),和 monospace(Droid Sans Mono)。
虽然可能有其他字体 他们埋葬在WebKit的某个地方 似乎无法访问 WebKit之外的开发人员。 : - (
唯一的其他字体是与应用程序捆绑在一起的任何TrueType字体。
编辑:Roboto是Android 4.0附带的新字体。您可以使用此库项目在所有版本中将其用于API级别4 https://github.com/mcalliph/roboto-text-view
答案 1 :(得分:16)
关于实际问题,这里有一种方法来创建所有可用字体的列表:
String path = "/system/fonts";
File file = new File(path);
File ff[] = file.listFiles();
数组ff []将包含所有字体文件。
答案 2 :(得分:8)
只有3种字体可用作android的一部分;正常(Droid Sans),衬线(Droid Serif), 和monospace(Droid Sans Mono)。
应用可以包含自己的truetype字体,但无法安装它们以供其他应用使用。
关于字体的几个链接:
答案 3 :(得分:0)
此答案不是程序化解决方案,但实际的 ttf 字体似乎存储在 /system/fonts 目录中。使用 adb shell ls /system/fonts
列出它们,或使用 adb pull /system/fonts
将它们全部传输到连接的计算机(adb 将创建一个名为“fonts”的文件夹)。
答案 4 :(得分:-4)
Android包含3种基本字体,但与iOS不同,您可以使用任何您喜欢的字体。您可以简单地将其嵌入到您的应用中,而不是像Apple那样限制预设的字体列表(Apple不允许使用字体嵌入)。非常方便。
请注意,这适用于Android本身,但网络浏览器(包括基本预安装的Android网络浏览器)确实支持所有标准HTML字体。