【发布时间】:2015-02-10 10:44:20
【问题描述】:
我有一个加载了 HTML 数据的 webview。我希望能够在运行时更改 HTML 的字体。为此,我有一个设置,用户可以选择一种字体(字体取自 /system/fonts 目录)。
如何将所选字体应用到 webview?
我通过使用 javascript 进行了尝试:
String fontString = "font-family: 'myFont'; url: /system/fonts/DroidSans.ttf;";
if (android.os.Build.VERSION.SDK_INT < 19) {
webview.loadUrl("javascript:changeStyle('body', '" + fontString + "')");
} else {
webview.evaluateJavascript("javascript:changeStyle('body', '" + fontString + "')", null);
}
在 HTML 的 javascript 中定义 changeStyle():
function changeStyle(tag, style) {
var myList = document.getElementsByTagName(tag); // get all p elements
var x = myList.length;
myList[0].setAttribute("style", style);
}
但是,这不起作用。我很确定 changeStyle() js 函数没有任何问题,因为它可以设置字体大小或颜色。
【问题讨论】:
标签: javascript android css fonts