当我在使用 Web 视图的 Android 应用程序中使用 Google Web 字体时,它们在 Android 4.4 版本中运行良好。某些搭载 Android 4.2 的设备显示默认字体,大多数都可以正常工作。然而,在 Android 4.0 上,所有字体都默认为相同的默认字体。
因为我们希望我们的应用程序以 Android 4.0 及更高版本为目标,所以我正在寻找一种方法来让 Google 网络字体可靠地工作。
该应用程序的作用只不过是在 Web 视图中从服务器打开 html 文件。
更新:
事实证明,某些 Android 4.2.2 设备无法正确显示 Google Web 字体。目前尚不清楚是什么让这些设备从我测试过的设备中脱颖而出,以及网络字体在哪里可以正常工作。
如何才能使网络字体在不同的 Android 版本和设备上可靠地工作?
上面的答案是有效的,并且可以深入了解该主题,感谢moallemi https://stackoverflow.com/users/1101425/moallemi and Vaiden https://stackoverflow.com/users/606351/vaiden对于那些。我们无法在 Android 4.0 上使用网络字体,这是一个遗憾。
Android 4.2 上的 webfonts 问题的解决方案与 Google 用于包含实际字体文件的 CSS 中指定格式有关。这意味着在 Google 的 CSS 中,他们有这样的代码:
src: url("http://some.google.server/some/path/FontName.ttf") format('ttf');
事实证明字体不会在WebView
在 Android 4.2 上,如果format()
CSS 中存在子句(或<style>
HTML 的节点)。因此解决方案很简单; CSS 应该有这样一行:
src: url("http://some.google.server/some/path/FontName.ttf");
这使得字体可以工作。然而,这并不是一个“简单”的解决方案。由于 Google 提供了包含此错误的 CSS,您需要创建、包含/使用并提供您自己的 CSS 文件版本,如果您不想成为 Google 更新其字体文件位置的对象,您需要托管字体文件你自己。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)