首页 > 解决方案 > 如何将自定义字体设置为在 Android 中加载了 WebView 的 html?

问题描述

我正在尝试将自定义字体加载到 webview 中。我知道有几种解决方案,但对我不起作用。

我正在使用以下方法将数据加载到 webview 中:

webview.loadDataWithBaseURL("file:///android_asset/", setHTML(it), "text/html", "utf-8", null)



private fun setHTML(text: String): String {
    return "<html><style>" +
            "@font-face {" +
            "font-family: 'Montserrat';" +
            "src: url('fonts/Montserrat-Regular.ttf);" +
            "}" +
            "body {" +
            "padding:0px;"+
            "margin:0px;"+
            "font-family: 'Montserrat', sans-serif !important;" +
            "}" +
            "a {" +
            "text-decoration:none;" +
            "}" +
            "code {" +
            "font-family: Courier, Helvetica !important;" +
            "}" +
            "</style><body>${text}ffff</body></html>"
}

我的文字是<b> test </b>

这是我想使用的字体:

在此处输入图像描述

有人知道我在做什么错吗?

标签: androidkotlin

解决方案


试试这个解决方案:

String text = "<html><head><style type=\"text/css\">@font-face {font-family: MyFont;src: url(\"file:///android_asset/font/Montserrat-Regular.ttf\")}body {font-family: MyFont;font-size: medium;text-align: justify;}</style></head><body>";
String pas = "</body></html>";
String myHtmlString = text+ YourTxext + pas;
wv.loadDataWithBaseURL(null,myHtmlString, "text/html", "UTF-8", null);

推荐阅读