Android 是否允许用户提供自己的字体?



我创建了一个包含自定义字体(即Google字体)的Android应用程序。 我通过在构建时将它们添加到 APK 来包含这些内容。 但是,我希望允许用户在运行时提供自己的 TTF 文件,以便为我的应用程序增加更大的灵活性。这可能吗? 如果是这样,我该怎么做?

如果你的文本是由 Java 代码呈现的,请使用Typeface.createFromFile()而不是你当前使用的任何内容(例如,Typeface.createFromAsset())。这仅适用于您可以访问的文件系统上的文件。如果您对字体有Uri(例如,从ACTION_OPEN_DOCUMENT),则需要制作字体文件的本地副本(例如,在内部存储上)。

如果你的文本是由WebView呈现的,你应该能够添加指向文件系统上字体的CSS规则,尽管我没有尝试过。CSS甚至有可能使用像你从ACTION_OPEN_DOCUMENT得到的content://Uri,尽管我怀疑这是否会起作用。

最新更新