web-dev-qa-db-ja.com

WebView wrap-content

WebViewにURLを読み込み、画面に合わせてサイズを変更することはできますか?つまり、ユーザーがスクロールする必要がないように、Webページを小さくしたいのです。これは可能ですか?

30
JaVadid

@ user289751、yalçın

「クリストファー」が述べたようによく友人であるが、ズームアウトしすぎると、表示されるコンテンツの可読性が低下するため、ユーザーは望んでいない。

むしろ私は代替案を提案したいと思います...ズームコントロールを設定してみてください...それらが2.1で機能するかどうかわからない...

webview.getSettings().setBuiltInZoomControls(true);

これがあなたの問題を解決することを願っています... coz now r r to user to control the control to change the level level ...

2
JaVadid

レイアウトアルゴリズムを設定することもできます。

webview.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
18
DeRagan

初期スケールを1に設定します。次に、画面いっぱいにズームインします。これが実際に背の高いWebサイト(たとえば、たくさんのコメントのあるブログ投稿)でどのように機能するかはテストしていませんが、標準のWebページを備えたDroid XとHTC Ariaで機能しています。

WebView.setInitialScale(1);

引き続き別のWebページでテストを行いますが、これまでのところ、これがこの問題に対する最善の解決策です。

編集:Droid XとAriaの両方でわいせつに長いWebページでテストされ、両方で肯定的な結果が得られました。初期スケールを0に設定すると、全体がオフになり、初期スケールが100になります。これらの結果に満足しているので、これがこの問題に苦しんでいる他の人に役立つことを願っています。

16
cesarislaw
wb.getSettings().setLoadWithOverviewMode(true);
wb.getSettings().setUseWideViewPort(true);
9
Sujith Mohan
webview_settings.setLoadWithOverviewMode(true);
webview_settings.setUseWideViewPort(true);
webview_settings.setBuiltInZoomControls(true);
4
exiquio

WebView.zoomOut()falseを返すまで繰り返し呼び出すことを試みましたか?

また、私が使用したいこの手法は、実際には非常に短いWebページに依存していることにも注意してください。ページが長く、画面全体に収まるようにズームアウトする場合、ユーザーには非常に優れた視力が必要になります。 ;)

2
Christopher Orr

次のようにして、ページ全体を自分のビューに含めることができました。まず、幅と高さをwrap_contentに設定します。次に、初期スケールを次のように設定します。

WebView webview = (WebView) currentActivity.findView(R.layout.web_view, R.id.webview);
webview.setInitialScale(1);

次のようにすることで、これを取得して、読み取り可能なフォントを表示するのに必要な幅を最小限に抑え、y座標に沿って毎回スクロールできることがわかりました。まず、高さと幅の両方をwrap_contentに設定します。次に、次のようにコードでズーム密度をfarに設定します。

WebView webview = (WebView) currentActivity.findView(R.layout.web_view, R.id.webview);
webview.getSettings().setDefaultZoom(ZoomDensity.FAR);

ほとんどの場合、これはおそらくより良いソリューションです。次のWebページ全体を表示した場合のフォントの大きさを考慮してください。

webview.setInitialScale(number);

「数値」が大きいほど、ページが拡大されます。小さい数字(10など)から始めて、好みに合わせて調整します

1
smoothwalsh

このコードを使用して、画面に従ってWebビューのサイズを変更します。

setScrollContainer(false);

1
Rishabh Agrawal

WebViewの両方のディメンションに対してWRAP_CONTENTを使用してダイアログでこれを機能させましたが、残念ながらWebページが大きくなりすぎると、WebViewが他のすべてのウィジェットを画面から押し出します。

Androidのレイアウトシステムは直感的ではありません。

0
Timmmm