NativeScript支持使用打包在应用程序的app/fonts
目录中的自定义字体。一个用CSS font-family
规则引用它们。我需要能够使用在运行时从网站加载的自定义字体。
在原生Android中,可以或多或少地直接从网址加载字体(只需打开URL的输入流并将其提供给Typeface
构造函数)。在iOS中,它也是可能的(根据this thread)。是否支持在NS中执行类似的操作(使用从Web加载的自定义字体),而不是直接使用本机代码?
答案 0 :(得分:3)
这在NativeScript中实际上非常简单;但是如果你不想复制任何代码,那就有问题了。您必须将字体放在/ app / fonts文件夹中,甚至是您下载的字体。
您的步骤是:
/app/fonts/
文件夹,您可以使用任何有效的方法下载它们
不幸的是,字体注册系统在fonts文件夹中查找任何自定义字体;所以除非你想要复制"您自己的代码库中的注册码;只需将新字体放入/app/fonts/
文件夹即可。 if (!global.android) {
var fonts = require('ui/styling/fonts');
fonts.ios.registerFont('MyFont.ttf'); // or .otf
}
MyFont
分配给商品的样式属性; (即SomeLabel.style.fontFamily = "MyFont";
)或
Page.addCss('MyCoolFont { font-family: myFont; }");
SomeLabel.cssClass = 'myCoolFont';
醇>