3

AndroidでWebViewをプログラムでズームアウトする方法を見つける必要があります。背景:レイアウトが固定されたphonegap /cordovaWebアプリを作成しました。これらの設定を使用して、デバイス間でアプリを適切に表示しています。

this.appView.getSettings().setUseWideViewPort(true); 
this.appView.getSettings().setLoadWithOverviewMode(true);
this.appView.getSettings().setSupportZoom(true);
this.appView.getSettings().setDefaultZoom(ZoomDensity.FAR);
this.appView.getSettings().setBuiltInZoomControls(true);
this.appView.setInitialScale(0);

これまでのところ、テキスト入力フィールドにフォーカスが移るまではうまく機能していました。その後、アプリは再スケーリングされ、適切なビューに戻ることができなくなります。私はこの問題を1日以上検索して取り組みましたが、今では多くの可能な解決策を試しましたが、どれもうまくいきませんでした。私が現在取り組んでいるアプローチは、テキスト入力フィールドがフォーカスを失ったときにネイティブ呼び出しを行い、次にズームをリセットすることです。しかし、ズームをリセットする方法がわかりません。

webView.zoomOut();遅すぎwebView.setInitialScale(..);て何もしません。

webView.setZoomLevel(..);またはのようなものを探してwebView.setScale(..);いますが、APIで見つかりません。

これについて私の髪を抜く..助けてください。

ところで、私のメタビューポート設定は

<meta name="viewport" content="width=640,height=device-height,target-densityDpi=device-dpi" />
4

2 に答える 2

2

この質問に対する答えはありません。この機能を使ってズームアウトする以外に、ズームレベルを設定する方法はないと思いzoomOut()ます。だから私はそれと一緒に暮らさなければなりませんでした。

于 2012-08-20T15:45:50.967 に答える
0

この質問の回答の1つは役に立ちますか? Webビューの初期ズーム/幅を設定する方法

ブライアンは最初に提案しました:webview.getSettings()。setUseWideViewPort(true); 次に、littleFluffyKittyが追加されました。setInitialScale(50)を他のズーム設定と一緒に使用します。

幸運を祈ります。私よりも知恵のある人があなたにもっと良い答えを与えてくれることを願っています。

于 2012-11-07T18:59:56.747 に答える