5

WebView のコンテンツに問題があります

シンプルなウェブビュー:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <WebView
        android:id="@+id/someWebview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="vertical"
        />
</RelativeLayout>

ここで私はそれを呼びます

WebView webView = (WebView)view.findViewById(R.id.someWebview);
webView.clearView();

webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);

webView.loadDataWithBaseURL(null, content, null, "utf-8", null);

コンテンツは次のようになります

<!DOCTYPE html>
<html>
<head>
  <title>some</title>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=0;"/>

  <style>
    *{margin:0; padding:0;}
    html, body{width:100%;}
  </style>
</head>



<body>
  <p style="width:50%; margin: 50px 0 0 100px; background-color: #0000ff">asdasd</p>
  <div style="width: 20%; margin-left: 50px; background-color:#ff0000; padding:0 50px;"><p style="background-color:#ffffff;">dfgdfg</p><div style="width:30%;margin-left: 50px;background-color:#1e1e1e;">dsdsd</div></div>
</body>
</html>

それで、問題はmargin-leftが機能しないことですが、margin-topは問題ありません..どうすればこれを修正できますか? Android:paddingLeft は使用できません。マージンが必要なのは、このすべてではなく、一部のコンテンツだけです

投稿に画像を追加できないので、ここにアップロードしました: http://imgur.com/FObDiaA,q9W5tvV 最初はデスクトップ ブラウザ、2 番目は Web ビューです。

アップデート

私の場合、htmlを解析し、必要な場所にパディングを使用してコンテナdivを追加することで問題を「解決」すると思いますが、これは悪いハックであり、すべてのケースでこれを使用できるとは限らないため、質問がまだ開いていると思います-なぜマージンが残ったのか/うまくいきませんか?

4

0 に答える 0