0

「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> 

ご覧のとおり、2 つの画像だけで他には何もありません。2 番目の画像は、サーバーを参照するハイパーリンクで、「接続を再試行してください」というテキストが表示されたボタンのように見えます。エラーが発生したときにページを表示します。

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

テキスト セレクターを使用してページ上のテキストを選択できることを知ったときの衝撃を想像してみてください。テキストをクリップボードにコピーしてからテキストエディターに貼り付けたところ、次のようになりました。

デバイスに信号とデータ接続があることを確認してください。後でこの Web ページを再読み込みしてください。カリフォルニア州を見る

テキストはどこから現れたのですか?!

よろしく、

4

1 に答える 1

0

これはよく知られている非常に古い (3 年) Android の問題で、http://code.google.com/p/android/issues/detail?id=2340であり、まだ解決されていません。

アップデート

ところで、私の意図しない回避策は、私がそこで読んだ中で最高のようです。WebView の背景色はゼロ (黒) に設定する必要があります。これにより、点滅がなくなります。また、可能であれば、WebView プロパティを介してハイパーリンクの色をゼロ (黒) に設定することも賢明です。「再試行」ボタンのクリック時にエラー ページを表示する代わりに、黒い画面のみが表示されます。

タップ中にテキストがどのように修正されるのかはまだわかりませんが、それは私のページと標準エラーページの奇妙な混合の結果です...

更新 2

残念ながら、ハイパーリンクの色 (通常/訪問済み) のプロパティはありませんが、おそらく setTextZoom() とデフォルトのフォント設定で URL を完全に非表示にすることができます (別の色で表示されます)。

于 2012-04-17T14:57:28.593 に答える