我希望在我的应用程序中使用webview
,在我的webView
中显示文字,图片。
我可以将文字和图片显示在webview
中,但会向我显示图片非常大且不适合屏幕!\ n
我在下面编写了webview代码:
WebSettings settings = content_newsWebView.getSettings();
content_newsWebView.setWebChromeClient(new WebChromeClient());
content_newsWebView.getSettings().setDomStorageEnabled(true);
content_newsWebView.getSettings().setAppCacheEnabled(true);
content_newsWebView.getSettings().setAppCachePath(getApplicationContext().getFilesDir().getAbsolutePath() + "/cache");
content_newsWebView.getSettings().setDatabaseEnabled(true);
content_newsWebView.getSettings().setDatabasePath(getApplicationContext().getFilesDir().getAbsolutePath() + "/databases");
content_newsWebView.getSettings().setJavaScriptEnabled(true);
settings.setDefaultTextEncodingName("utf-8");
content_newsWebView.loadData(response.body().getData().getDescription(), "text/html; charset=UTF-8", null);
我的Json:
> "description": "<p><span style=\"font-size:14px\">The Swedish star who played Mikael Blomkvist in thrillers based on Stieg
> Larsson’s best-selling <strong>Millennium</strong> series,
> passed away on Tuesday.</span></p>\n\n<p><span
> style=\"font-size:14px\">According to his representative’s
> statement, <a
> href=\"http://example.com/Celebrities/21240/michael_nyqvist\"><strong>Mr.
> Nyqvist</strong></a> died among his beloved ones in Stockholm
> following his battle with lung cancer.</span></p>\n\n<p><span
> style=\"font-size:14px\">“On behalf of Michael Nyqvist’s
> representatives and family, it is with deep sadness that I can confirm
> that our beloved Michael, one of Sweden’s most respected and
> accomplished actors, has passed away quietly surrounded by family
> after a year long battle with lung cancer,” read the
> statement.</span></p>\n\n<p><span style=\"font-size:14px\"><img
> alt=\"Michael Nyqvist in The Girl with the Dragon Tattoo with Noomi
> Rapace\"
> src=\"http://example.com/cpanel/uploads/news-picture/363/Mikael.jpg\"
> /></span><span style=\"font-size:11px\"><strong>Michael Nyqvist in The
> Girl with the Dragon Tattoo with Noomi
> Rapace</strong></span></p>\n\n<p><span style=\"font-size:14px\">The
> popular Swedish actor mostly became popular for playing opposite <a
> href=\"http://example.com/Celebrities/10116/noomi_rapace\"><strong>Noomi
> Rapace</strong></a> in <a
> href=\"http://example.com/Movies/292/the_girl_who_played_with_fire\"><strong>The
> Girl Who Played with Fire</strong></a>, <a
> href=\"http://example.com/Movies/291/the_girl_with_the_dragon_tattoo\"><strong>The
> Girl with the Dragon Tattoo</strong></a> and <a
> href=\"http://example.com/Movies/293/the_girl_who_kicked_the_hornets_nest\"><strong>The
> Girl Who Kicked the Hornet’s Nest</strong></a>. <a
> href=\"http://example.com/Celebrities/1/daniel_craig\"><strong>Daniel
> Craig</strong></a> later played the character in the American
> adaptation of <a
> href=\"http://example.com/Movies/1168/the_girl_with_the_dragon_tattoo\"><strong>The
> Girl with the Dragon Tattoo</strong></a>.</span></p>\n\n<p><span
> style=\"font-size:14px\"><a
> href=\"http://example.com/Celebrities/21240/michael_nyqvist\"><strong>Michael
> Nyqvist</strong></a> was also known for playing villains in Hollywood
> hits including his role against <a
> href=\"http://example.com/Celebrities/10341/keanu_reeves\"><strong>Keanu
> Reeves</strong></a> in <a
> href=\"http://example.com/Movies/26468/john_wick\"><strong>John
> Wick</strong></a> and the nuclear scientist in <a
> href=\"http://example.com/Celebrities/10132/tom_cruise\"><strong>Tom
> Cruise</strong></a>’s <a
> href=\"http://example.com/Movies/613/mission_impossible_-_ghost_protocol\"><strong>Mission:
> Impossible — Ghost Protocol</strong></a>.</span></p>\n\n<p><span
> style=\"font-size:14px\">Born in Stockholm in 1960, <a
> href=\"http://example.com/Celebrities/21240/michael_nyqvist\"><strong>Mr.
> Nyqvist</strong></a> is survived by his wife and two children, Ellen
> and Arthur. </span></p>\n",
如何修复它并显示适合屏幕的图像?
答案 0 :(得分:2)
试试这个适合我的。
private String getHtmlData(String bodyHTML) {
String head = "<head><style>img{max-width: 100%; width:auto; height: auto;}</style></head>";
return "<html>" + head + "<body>" + bodyHTML + "</body></html>";
}
现在就像这样调用上面的getHtmlData。
webViewBlog.getSettings().setJavaScriptEnabled(true);
webViewBlog.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
webViewBlog.getSettings().setDomStorageEnabled(true);
webViewBlog.getSettings().setAllowFileAccessFromFileURLs(true);
webViewBlog.getSettings().setAllowUniversalAccessFromFileURLs(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)
{
webViewBlog.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING);
}
else
{
webViewBlog.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
}
webViewBlog.loadDataWithBaseURL(null, getHtmlData(myHtmlContent)), "text/html", "utf-8", null);
答案 1 :(得分:0)
使用此代码
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
WebSettings settings = mWebView.getSettings();
WebSettings.LayoutAlgorithm layoutAlgorithm = WebSettings.LayoutAlgorithm.TEXT_AUTOSIZING;
settings.setLayoutAlgorithm(layoutAlgorithm);
}