如何在Android中改变WebView的字体?我希望将webview的默认字体更改为自定义字体。我正在使用webview为Android开发一个双语浏览器应用程序。我尝试通过在资产中放置自定义字体来获取自定义字体的实例。但仍然不能将webview的默认字体设置为我的字体。这就是我试过的:Typeface font = Typeface.createFromAsset(getAssets(), "myfont.ttf");
private WebView webview;WebSettings webSettings = webView.getSettings();
webSettings.setFixedFontFamily(font);有人能纠正这种情况或建议其他方法将webview的默认字体更改为自定义字体吗?谢谢!
3 回答
九州编程
TA贡献1785条经验 获得超4个赞
在你的 assets/fonts
文件夹中,放置所需的OTF或TTF字体(此处是MyFent.otf) 创建一个HTML文件,用于WebView的内容,在 assets
文件夹(这里在里面) assets/demo/my_page.html
):<html><head><style type="text/css">@font-face { font-family: MyFont; src: url("file:///android_asset/fonts/MyFont.otf")}body { font-family: MyFont; font-size: medium; text-align: justify;}</style></head><body>Your text can go here! Your text can go here! Your text can go here!</body></html>
从代码中将HTML加载到WebView中: webview.loadUrl("file:///android_asset/demo/my_page.html");
loadData()
请注意,JavaScript的相同来源策略意味着在使用此方法加载的页面中运行的脚本将无法访问使用“Data”以外的任何方案加载的内容,包括“http(S)”。要避免这一限制,请使用loadDataWithBaseURL()和适当的基本URL。
webView.loadDataWithBaseURL("file:///android_asset/", htmlData);
htmlData
/fonts/MyFont.otf
人到中年有点甜
TA贡献1895条经验 获得超7个赞
@font-face { font-family: 'myface'; src: url('file:///android_asset/fonts/myfont.ttf'); } body { font-family: 'myface', serif;
- 3 回答
- 0 关注
- 428 浏览
添加回答
举报
0/150
提交
取消