让 WebView 使用 SD 卡上存在的字体
Android 的日文字体太糟糕了。免费的 Mincho 字体会好得多。许多人使用我们的(开源)应用程序来学习日语单词,因此我们希望该应用程序下载并使用此字体。
现有的免费 Android 应用 已经这样做,但我不知道怎么做。
下载字体到SD卡没问题,但是如何让WebView(或者WebView内的一些span)使用下载的字体而不是默认字体呢?
Android's Japanese font is horrible. The free Mincho font would be much better. Many people use our (open source) app to learn Japanese words, so we would like the app to download and use this font.
An existing free Android app is already doing it, but I have no idea how.
Downloading the font to the SD card is no problem, but how to make the WebView (or some spans within the WebView) use the downloaded font instead of the default font?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
WebView 用于在应用程序内加载网页。我猜你可能弄错了。
如果您想将外部字体加载到您的应用程序中,您可以使用该代码片段
并将它们用于任何文本视图以在应用程序中显示它。
WebView is used to load a web page inside a app.. Probably you got it wrong is my guess.
If you want to load external font into your app you can make use of the snippet
and use them for any textview to display it in app.
解决方案是在发送到 WebView 的 HTML 中插入 CSS 指令。该 CSS 指令通过“file:”协议引用字体文件。
有关开源代码示例和更详细的说明,请参阅我们如何实现它:
https://github.com/nicolas-raoul/Anki-Android/commit/6225e524be4a77858e08389624d2f4ae 8740261b
The solution was to insert a CSS directive into the HTML sent to the WebView. This CSS directive references the font file via the "file:" protocol.
For an open source code sample and a more detailed explanation, see how we implemented it:
https://github.com/nicolas-raoul/Anki-Android/commit/6225e524be4a77858e08389624d2f4ae8740261b