0

これが透明な背景の使用による問題かどうかはわかりませんが、Web ビューを使用してユーザーに Web ページを表示していますが、ユーザーがリンクから別の URL をロードしたり、JavaScript を使用して新しいコンテンツをページに動的に挿入したりすると、レンダリングに不具合があるようです。

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

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

この質問Android Webview Content Overlapping While Using Transparent Backgroundに似ています。

どうもありがとう。

4

2 に答える 2

0

これは、透明な背景をオンにしていたためでした。これを削除したところ、問題ありませんでした。最善の解決策ではありませんが、グリッチのあるグラフィックよりも好ましい解決策です。CSS の背景プロパティを WebView が配置されている場所のプロパティと一致させることで、透明な背景を模倣しました。

于 2012-04-18T09:19:08.993 に答える
0

Google TVボックスで同じ問題が発生し、次のようにWebKitにjQueryからDOMを強制的に再描画させることでこれを修正できました。

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

または (jQuery が気に入らない場合):

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

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

スタイルの変更を伝播するために WebKit に再描画/再描画を強制するにはどうすればよいですか?でのその他の関連する修正

于 2013-04-08T14:09:32.680 に答える