33

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

4

10 に答える 10

18

同じレイアウトアルゴリズムを設定することもできます.それは私にとってはうまくいきました.

webview.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
于 2010-05-05T06:30:16.097 に答える
16

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

WebView.setInitialScale(1);

さまざまなWebページでテストを続けますが、これまでのところ、これがこの問題に対する最善の解決策です。

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

于 2010-11-23T20:38:14.763 に答える
11
wb.getSettings().setLoadWithOverviewMode(true);
wb.getSettings().setUseWideViewPort(true);
于 2012-08-22T18:10:30.447 に答える
3
webview_settings.setLoadWithOverviewMode(true);
webview_settings.setUseWideViewPort(true);
webview_settings.setBuiltInZoomControls(true);
于 2012-02-19T07:07:15.890 に答える
2

WebView.zoomOut()戻るまで繰り返し呼び出してみましたfalseか?

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

于 2010-01-02T13:32:41.523 に答える
2

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

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

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

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

ほとんどの場合、これがおそらくより良い解決策です。次の Web ページ全体を表示すると、フォントがどれだけ小さくなるかを考えてみてください。

于 2011-06-01T21:27:24.263 に答える
1
webview.setInitialScale(number);

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

于 2010-07-06T16:03:50.393 に答える
1

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

setScrollContainer(false);

于 2012-11-20T12:27:39.817 に答える
0

前述のように、ズームアウトしすぎると、コンテンツの読みやすさが低下するため、ユーザーは望んでいません。

ズーム コントロールを設定してみることをお勧めしますが、2.1 で機能するかどうかはわかりません。

webview.getSettings().setBuiltInZoomControls(true);

ユーザーにズームレベルを変更するコントロールを与えているので、これで問題が解決することを願っています。

于 2010-03-11T10:47:45.203 に答える
0

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

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

于 2010-03-21T16:08:21.543 に答える