当前位置: 首页 > 知识库问答 >
问题:

Android无法在webview中更改字体

元望
2023-03-14

我正在尝试更改Web视图元素的字体。我创建了一个网页并放置了。ttf文件。我打开页面,它看起来很好。现在我想使用webview来显示它。因为我使用的是推特引导,所以我使用加载URL的方法来加载页面。

页面确实加载了,但字体错误。在我的css样式文件中,我尝试了这些(我的html文件在'www'目录的资产文件夹中,我也将字体放在该文件夹中):

@font-face {
    font-family: 'Far.TitrDF';
    src: url('file:///android_asset/www/Far_TitrDF.ttf');
}


@font-face {
    font-family: 'Far.TitrDF';
    src: url('Far_TitrDF.ttf');
}

我还尝试在资产文件夹中创建一个“字体”目录,并将我的字体放在那里并尝试以下内容:

@font-face {
    font-family: 'Far.TitrDF';
    src: url('file:///android_asset/fonts/Far_TitrDF.ttf');
} 


@font-face {
    font-family: 'Far.TitrDF';
    src: url('../fonts/Far_TitrDF.ttf');
}

但是没有成功。有趣的是,其他所有东西,比如样式,都显示得很好。你能告诉我我做错了什么吗?

共有2个答案

许学真
2023-03-14
String data="<html><head><meta      http-equiv=\"content-type\" content=\"text/html;\" charset=\"UTF-8\"><style>"+
        "@font-face {"+
          "font-family: \"MyFont\";"+
          "src: url('file:///android_asset/fonts/normal.otf');"+
          "font-weight:bold !important;"+
        "}"+
        "@font-face {"+
          "font-family: \"MyFontBold\";"+
          "src: url('file:///android_asset/fonts/bold.otf');"+
          "font-weight:bold !important;"+
        "}"+
        "@font-face {"+
          "font-family: \"MyFontItalic\";"+
          "src: url('file:///android_asset/fonts/Italic.otf');"+
          "font-weight:bold !important;"+
        "}"+
        "@font-face {"+
          "font-family: \"BoldItalic\";"+
          "src: url('file:///android_asset/fonts/BoldItalic.otf');"+
          "font-weight:bold !important;"+
        "}"+
        "strong { font-family:\"MyFontBold\"; }"+
        "em {font-family :\"MyFontItalic\";}"+
        "body { font-family:\"MyFont\"; }"+
        "body strong em {font-family:\"BoldItalic\";}"+ 
        "body em  strong{font-family:\"BoldItalic\";}"+
        "</style>"+
        "</head>"+
        "<body>"+your description String+ "</body></html>";


        web.loadDataWithBaseURL("file:///android_asset/", data, "text/html",
                "UTF-8", "null");
令狐宏浚
2023-03-14

更改web视图字体是个坏主意,若您的数据是唯一的文本,首选的方法是使用TextView和SetTypeface方法。。。

但您仍然可以通过混合html和css以及css中的font命令为web视图使用自定义字体,但字体必须是web字体而不是任何字体,并且在字体url中没有子文件

 类似资料:
  • 我的应用程序使用webview打开一个网页,该网页正在更新网页上某些交互的一些cookie。现在我想阅读这个cookie,并根据cookie的值对UI进行一些调整。 iOs有一些观察器的实现,可以附加到cookie列表,并在发生任何cookie更改时获取通知。 我正在从long搜索类似的解决方案,但找不到任何类型的侦听器或可以附加到cookie并在更新时了解它们的东西。 我读了和中的所有内容 ht

  • 我目前有两个WebViews(例如leftWebView和rightWebView)位于嵌入在Anchor窗格内的水平SplitPane中。每个WebView都有一个JavaScript(创建一个不同颜色的矩形)。现在我要做的是,在单击一个矩形时,我希望更改另一个WebView。问这个问题的一个简单方法是如何通过更改RightWebView调用leftWebView。 我的应用程序的UI如下所示:

  • 我不能改变的图形软件,因为我肯定这是修复我的AVD不启动。该选项是灰色的(见屏幕截图)。有人对此有经验吗?我找不到有同样问题的人。 我在Ubuntu17.04上运行的是Android Studio的最新版本。

  • 问题内容: 我尝试从菜单 窗口 → 首选项 → 常规 → 外观 来更改Eclipse中的软件包资源管理器的字体大小,但无法更改字体大小。我怎样才能做到这一点?我在Windows 7上使用Eclipse v4.2(Juno)。 问题答案: Eclipse使用的是本机Windows小部件,只能从“显示属性” /“设置” /“高级” /“常规”属性选项卡中更改其设置。您可以在此处更改屏幕DPI以更改字体

  • 问题内容: 我打算在微调器中将文本字体更改为arialbold。以下是我的代码:- 问题答案: 类: 版面: my_spinner_style.xml TTF文件

  • 我一直在使用PDFSharp来填充带有AcroForm字段的PDF。我可以使用以下代码设置表单字段的值: 我遇到的问题是,当我试图更改将进入字段的文本的字体时。我能够访问字段的font属性,它允许我像这样设置它: 然而,当我打开保存的PDF时,它默认字体返回到不同的字体。我也试过使用其他字体,比如“Arial”或“Helvetica”,以及不同的大小,但似乎没有一种字体能坚持。 如果我用Foxit