Android WebView No-internet页面:奇怪的文字

时间:2012-04-15 20:59:16

标签: android webview android-webview

我在'assets'文件夹中有以下HTML:

<html>
<head>
<style>
    a#button
    {
        cursor: pointer;
        background-size: 100% 100%;
        background-color: transparent;
        background-image: url('button.png');
    }
    a#button:active
    {
        cursor: pointer;
        border: 2px solid white;
    }
</style>
</head>
<body style="background-color: black; margin: 0px; border: 0px; padding: 0px;">
<img id="bkg" src="background.png" style="position: absolute; top: 0px;" />
<a id="button" href="someurl" style="position: absolute;"></a>
</body>
</html> 

如你所见,只有两张图片而已。第二个图像是一个超链接,它引用一个服务器,看起来像一个带有文本的按钮:“重试连接”。我在出现错误时显示页面:

@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
{
     view.loadUrl("file:///android_asset/html/nointernet.htm");
}

想象一下,当我看到我可以使用文本选择器在页面上选择文本时,我感到多么震惊!我已将文本复制到剪贴板中,然后粘贴到文本编辑器中,它是:

  

检查以确保您的设备具有信号和数据连接重新加载   这个网页以后。查看ca

文本的确出现在哪里?!

此致

1 个答案:

答案 0 :(得分:0)

这是众所周知且非常陈旧(3年)的Android问题http://code.google.com/p/android/issues/detail?id=2340,但仍未解决。

<强>更新

顺便说一句,我无意识的解决方法似乎是我在那里读到的最好的。 WebView背景颜色应设置为零(黑色),这样可以消除闪烁。此外,将超链接颜色设置为零(黑色)也是明智的,如果可能的话,通过WebView属性,而不是在“重试”按钮单击时显示错误页面,您将只看到黑屏。

虽然我仍然不知道文本是如何修复的,但是这会导致我的页面与标准错误页面的混合... ...

更新2

唉,超链接颜色(普通/访问)没有属性,但是setTextZoom()和默认字体设置可以完全隐藏URL(以不同颜色呈现)。