Android WebView、画面に合わせて画像を拡大縮小する 質問する

Android WebView、画面に合わせて画像を拡大縮小する 質問する

私が持っているもの:URLから画像を読み込んでいます。(WebView).loadUrl(imageurl, extraheaders)

私が得るもの:画像が WebView の全幅に表示されず、周囲に空白スペースがあります (デスクトップ ブラウザーで小さな画像を開いた場合のように)

試したこと:WebView.getSettings()LayoutAlgorithm を SINGLE_COLUMN に設定します。完璧に動作しますが、ズームが機能しません。(理由はわかりませんが、有効にしています。setUseWideViewPort(true);空白のないイメージを読み込む設定ですが、完全にズームインされています。)

ベストアンサー1

次のようなこともできます。

imgデータ文字列の先頭に CSS スタイルを追加します(Web データ形式によって異なります)。

<style>img{display: inline; height: auto; max-width: 100%;}</style>

WebView のデータにすばやく実行するために、これを実行しました。

WebView content = (WebView) findViewById(R.id.webView1);
content.loadDataWithBaseURL(null, "<style>img{display: inline;height: auto;max-width: 100%;}</style>" + post.getContent(), "text/html", "UTF-8", null);

これは bansal21ankit が言ったこととほぼ同じですが、追加の作業なしで HTML 内のすべての画像で機能します。


編集(投稿内容の明確化):

例のtext/html代わりに任意の値を指定できます。post.getContent()

text/htmlここでの投稿コンテンツは、何らかのデータ ソースから読み込まれ、style指定されたコンテンツ内の任意の画像を画面に収まるようにする部分と連結されたコンテンツの例にすぎません。

おすすめ記事