我在'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
文本的确出现在哪里?!
此致
答案 0 :(得分:0)
这是众所周知且非常陈旧(3年)的Android问题http://code.google.com/p/android/issues/detail?id=2340,但仍未解决。
<强>更新强>
顺便说一句,我无意识的解决方法似乎是我在那里读到的最好的。 WebView背景颜色应设置为零(黑色),这样可以消除闪烁。此外,将超链接颜色设置为零(黑色)也是明智的,如果可能的话,通过WebView属性,而不是在“重试”按钮单击时显示错误页面,您将只看到黑屏。虽然我仍然不知道文本是如何修复的,但是这会导致我的页面与标准错误页面的混合... ...
更新2
唉,超链接颜色(普通/访问)没有属性,但是setTextZoom()和默认字体设置可以完全隐藏URL(以不同颜色呈现)。