防止Android Webview更改字体大小(计算样式)

时间:2013-05-22 13:16:40

标签: android css

我有一个网页,由Android应用程序通过Webview组件显示。

它决定改变字体大小,所以16px的文本有font-size = 14px(当我用weinre检查元素时,我可以看到它。它有16px,但在计算机样式中有14px)。

我不希望Webview决定什么是更好的。那么我该如何解决这个问题?

备注:在此特定情况下,更改会导致文本不垂直对齐,因为更改后的行高不会调整字体大小。这只是其中一个案例,我想阻止Webview更改css值。

2 个答案:

答案 0 :(得分:0)

此问题仅影响在webview中查看的页面,而不影响Android浏览器。它可能只影响设备的子集。还有其他人看到过这个问题吗?

我看到我的设备变换字体如下:

  

16px - > 14px的
  14px - > 12px的
  12px - > 10px的

我正试图强制我的页面在所有设备上以12px渲染字体。这是一个潜在的解决方案(使用jQuery):

$(document).ready(function()
{
    //set font-size to 12px
    $('html').css('font-size', "12px")

    //See what font-size is computed by the webview
    var fs = parseFloat($('html').css('font-size'));

    //If the webview is being naughty, compensate for it
    if (fs == 10) 
    {
        $('html').css('font-size', "14px");
    }
}

答案 1 :(得分:0)

此问题似乎是由于WebView遵循系统字体大小设置(可在以下位置更改:设置>显示>字体大小)。

Android Font size setting

已在不同地方(for example

提交了多个错误报告
  

要重现此问题,您必须将系统字体大小缩小到最小或最小。

...

  

好的,如果我更改设置>我可以重新登录显示>字体大小。它不会在Chrome中重现,但Chrome首先似乎不尊重“字体大小”。我现在很忙,所以可能需要一段时间才能进一步调查。

尝试将系统字体大小设置为“小”或“中”并测试您的应用。