2012-04-11 8 views
0

透明な背景を使用しているために問題があるかどうかはわかりませんが、ユーザーがウェブページを表示するためにwebviewを使用していますが、レンダリングに不具合があるように見える新しいコンテンツをページに動的に挿入します。android webview前のコンテンツをバックグラウンドで

グリッチとは、新しいコンテンツ/ページがフォアグラウンドに読み込まれている間、ページがバックグラウンドのままであることを意味します。それらは重複してしまい、すべてを非常に判読不能にしてしまいます。

透明な背景を有効にするために、私のwebviewでハードウェアアクセラレーションをオフにしていますが、それが原因の可能性がありますか?

これは、この質問Android Webview Content Overlapping While Using Transparent Backgroundと似ています。

多くのありがとうございます。

+0

の場合、解決策も同様です。そこにあるソリューションを試しましたか? –

+0

私はwebviewclientの "onPageStarted"関数でその解決策を実装しようとしましたが、うまくいきませんでした。しかし、これはjavascriptがWebページとやりとりするときにも発生するため、実行可能な解決策にはなりません。 –

答えて

0

これは私が透明な背景を持っていたため、これを削除しても問題ありませんでした。最高の解決策ではなく、グリッチなグラフィックを持つことよりも好ましい方法です。私はCSSのバックグラウンドプロパティをWebViewの場所に合わせることで透明な背景を模倣しました。 (あなたはjQueryのが好きではない場合)

$('<style></style>').appendTo($(document.body)).remove(); 

か::

0

では、Google TVのボックスに同じ問題を抱えていたとのようにjQueryのからDOMを再描画するためのWebKitを強制することでこの問題を解決するために管理

document.body.style.display='none'; 
document.body.offsetHeight; 
document.body.style.display='block'; 

webView.loadUrl("javascript:(function(){ /* put the force-redraw-code here */ })()")のように、Androidからコードフラグメントを動的に注入することも、DOMを変更した後にJavaScriptから直接行うこともできます。

多くの関連する修正はHow can I force WebKit to redraw/repaint to propagate style changes?

関連する問題