2017-01-25 10 views
0

webserviceから来て、webviewで表示される画像を画面に合わせたい。Android - Webviewの画像が画面に合わない

私はビデオのために成功し、彼らは画面に合うことができます。

これはコードです。

<style type="text/css"> 

    iframe { 
     display: block; 
     max-width:100%; 
     margin-top:10px; 
     margin-bottom:10px; 
    } 

    img { 
     display: block; 
     margin-top:10px; 
     margin-bottom:10px; 
     max-width:100%; 
     height:100%; 
     background-size: cover; 
     width: auto !important; 
     resize:both; 
     background:no-repeat fixed; 
    } 

</style> 

Google検索に基づいてCSSコードでたくさんのことを試しましたが、画面に合わせることができませんでした。

次に、このCSSをwebviewコンテンツに追加します。

String str = "<style type=\"text/css\">\n" + 
      " iframe {\n" + 
      "  display: block;\n" + 
      "  max-width:100%;\n" + 
      "  margin-top:10px;\n" + 
      "  margin-bottom:10px;\n" + 
      " }\n" + 
      "\n" + 
      " img {\n" + 
      "   display: block;\n" + 
      "   margin-top:10px;\n" + 
      "   margin-bottom:10px;\n" + 
      "   max-width:100%;\n" + 
      "   height:100%;\n" + 
      "   background-size: cover;\n" + 
      "   width: auto !important;\n" + 
      "   resize:both;\n" + 
      "   background:no-repeat fixed;\n" + 
      "  }\n" + 
      "\n" + 
      "</style>"+currentNews.getContent(); 

次に、読み込みビューを表示します。

content.loadDataWithBaseURL("file:///android_asset/", str, "text/html", "utf-8", null); 

私はスケールのないフォームまたはトリミングされたバージョンのみでした。前もって感謝します。

this is non-scaled version

+0

まだ誰もが考えていますか? – Hilal

答えて

0

オーケー、私は問題が何であるかを発見しました。明らかに私のHTMLデータはサーバー側で別のCSSスタイルを取得していました。

私のスタイルを使用するように強制するには、私のCSS属性に!importantを使用しました。完璧に動作する時はとても良い気分です。

<style type="text/css"> 
iframe { 
    display: block; 
    max-width:100%; 
    margin-top:10px; 
    margin-bottom:10px; 
} 

img { 
    height: auto !important; 
    max-width: 100% !important; 
    } 

</style> 

その後、私はstrであると私はまたstr文字列変数に他のHTMLデータを追加し、文字列変数にそのスタイルを貼り付けます。次に、私は以下のようにHTMLを読み込みます。

content.loadDataWithBaseURL("file:///android_asset/", str, "text/html", "utf-8", null); 

だから、このトリックはちょうど!importantでした。

関連する問題