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

2022-09-01 03:38:58

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

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

有没有安卓的等价物?


答案 1

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

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

只有三种字体:normal(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


答案 2

关于实际问题,以下是创建已安装的所有可用字体列表的方法:

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

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


推荐