【问题标题】:Can't use custom font in WebView无法在 WebView 中使用自定义字体
【发布时间】:2014-07-04 08:03:00
【问题描述】:

我的应用程序中有一个 webview,其中正文需要使用“Times New Roman”字体呈现。首先,我已将 .ttf 文件放入我的 Assets 文件夹中。

我已将 style.css 文件修改为以下内容:

@font-face {
    font-family: "Times New Roman";
    src: url("Times-New-Roman.ttf");
}

#body{
    font-family: "Times New Roman",Arial,sans-serif;
    font-weight: normal;
    font-size: 8px;
}

我像这样创建我的 WebView:

WebView webView = new WebView(activity.getApplicationContext());
String child = "<html><head><link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\"><body>Test</body></html>";
webView.loadDataWithBaseURL("file:///android_asset/", child, "text/html", "UTF-8", null);
return webView;

但是当 WebView 以默认的 Android 字体而不是 Times New Roman 呈现时。我不知道这是否重要,但我从我的 MacBook 上的 /Library/Fonts 文件夹中复制了字体,然后用“-”重命名了它,而不是空格。

【问题讨论】:

  • 您是否看到正在应用的 CSS 中的其他样式(例如 8px 字体大小)?另外,您在哪个版本的 Android 上运行?
  • 是的 qsasq。似乎应用了所有其他样式,但没有应用字体。我正在使用 Android 4。

标签: android css fonts webview android-webview


【解决方案1】:

我想通了。通过在 CSS 中删除 # 之前的正文,我让它工作了。如果比我更了解 HTML 的人看到了这个,您能否描述一下为什么会这样?

【讨论】:

  • #body 表示您的目标是一个 ID。例如:-&lt;body id="body"&gt;。在您的情况下,您的正文标签中没有 id。你只需要参考&lt;body&gt;标签
猜你喜欢
  • 2010-11-23
  • 2017-08-14
  • 1970-01-01
  • 1970-01-01
  • 2013-06-20
  • 1970-01-01
  • 1970-01-01
  • 2012-02-21
相关资源
最近更新 更多