単一の webview を持つ単純なレイアウトがあります。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<WebView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/webview" />
</RelativeLayout>
また、ローカル リソースから webview にデータを読み込む必要があります。私は次のようにします:
String str = "100% valid html with doctype and other things";
view.loadDataWithBaseURL(null, str, "text/html", "utf-8", null);
ただし、幅全体を埋められない場合もあります。データを webview にロードする際にスライドイン効果があることをご存知でしょう。そのため、読み込み中に画面の一部 (通常は半分) にスライドして、それ以上スライドしないことがあり、その結果、コンテンツが幅全体に表示されません。バグは多くのデバイスで再現されています (スクリーンショットは Sony Xperia S のもので、一部の Samsung Galaxy S2 でも安定して再現されています)。
ハードウェア アクセラレーションを有効にしても効果がありません。
では、なぜこのバグが発生するのでしょうか。そして、それを解決する方法は?