0

我尝试在 WebView 中使用自定义字体,因此我将字体文件复制到资产目录中,然后我使用此代码显示 webview,但它以默认字体显示!

String html = "<html><head>"
            + "<style type=\"text/css\">"
            +" @font-face {font-family:MyFont; src: url('file:///android_asset/font/Yekan.TTF');}"
            + "body{font-family:MyFont; color: #666666; background-color: #f9f9f9; direction:rtl; text-align:justify; line-height:40px;}"
            + "</style></head>" + "<body>" + "<p align=\"justify\">" + text
            + "</p> " + "</body></html>";
    intro.loadDataWithBaseURL("", html, "text/html", "UTF-8", "");

任何人都可以帮助我在网络视图中使用自定义字体吗?谢谢

4

2 回答 2

2

这可能对您有所帮助,因为它适用于从 android 2.3.3 到 4.3 的 mycase。您可以创建一个 css 文件并在标签中将所有设计主体属性、标题属性等提及到 css 文件中,然后将此 css 文件插入到项目资产文件夹并加载到 webview 中。我在下面为您展示。

默认.css 文件

body 
{font-family:Verdana, Arial, Helvetica;
font-size: 12px;
background-color:transparent!important;line-height:23px;
color:#000;margin:10px;
}
blockquote {
margin: 3em 0px 2em 0px;
padding-left: 40px;
font-style: italic;
}
blockquote:before {
color: #cccccc;
content: '\201C'; 
font-family: Arial, Helvetica, sans-serif;
font-size: 6em;
font-weight: bold;
line-height: 0px;
margin: 0px 5px 0px -40px;
vertical-align: bottom;
}
blockquote p {margin-top:-10px;
font-style: italic;}

a:link 
{color: rgb(204, 0, 0);
font-family: Verdana;
font-size: 12px;}
a:active 
{color: rgb(255, 0, 0);
font-family: Verdana;
font-size: 12px;}
a:visited 
{color: rgb(204, 51, 0);
font-family: Verdana;
font-size: 12px;}
.Title
{
margin-bottom:3.0pt;
font-size:26.0pt;
font-family:"Cambria","serif";
color:#17365D;
letter-spacing:.25pt;}

以及下面用于将此 css 文件加载到 webview 中的代码。

String Webview_data = "Here is your information";

                String linkCss1 = "<link rel='stylesheet' href='css/default.css' type='text/css'>";

                String body = "<html><header>" + linkCss1 + "</header>" + "<body>"+Webview_data + "</body></html>";
                mWebView.loadDataWithBaseURL("file:///android_asset/", body, "text/html", "UTF-8", null);
于 2013-12-12T09:50:27.247 回答
2
String str1 = "<html><head><style type=\"text/css\">@font-face {font-family: 
MyFont;src: url(\"file:///android_asset/fonts/FontName.otf\")}body {font- 
family: MyFont;}</style></head><body>";

String str2 = "</body></html>";
String myHtmlString = str1 + your content + str2;
webView.loadDataWithBaseURL(null,myHtmlString, "text/html", "UTF-8", null);
于 2019-05-09T11:41:22.110 回答