在我的应用程序中,我有一个定义为“18sp”的字体的维度。此字体大小用于TextView(作为标题)和WebView(作为正文)。在mdpi设备上,两种字体看起来都是相同的大小;但是在nexus 10(xhdpi)上,当WebView大小翻倍时,TextView看起来是正确的。我正在使用
在webview上设置文本大小int fontSize = res.getDimensionPixelSize(R.dimen.textSize);
然后在正文中使用css设置字体:
<body style='font-size: " + fontSize + "px'>
显然为什么文本大小加倍 - xhdpi设备上的18sp出现了36px - 但我很困惑为什么这是由TextView而不是WebView自动处理的。我可以想到几种方法来解决这个问题,但我不知道哪种方法(如果有的话)是正确的方法:
有什么想法吗?感谢
答案 0 :(得分:1)
您可以使用JavaScript代码更改fontSize,backgroundColor和字体颜色的WebView样式。它正在工作。
loadUrl("javascript:(document.body.style.fontSize ='11pt');");
loadUrl("javascript:(document.body.style.backgroundColor ='red');");
loadUrl("javascript:(document.body.style.color ='yellow');");
答案 1 :(得分:0)
在webview中设置这样的字体大小
WebSettings settings = webview.getSettings();
settings.setDefaultFontSize(10);