2

私はPhoneGapを使用してAndroid用に開発しています。私のコードを見ることができます。私ができないことは、ユーザーがスケールを変更した後に WebView スケールを 1 にリセットすることです。

リセット コードは、「DisableZoom」メソッドで実装する必要があります。

public class App extends DroidGap {

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.loadUrl("file:///android_asset/www/index.html");
        this.appView.addJavascriptInterface(new __Funcs(this.appView), "__FUNCS");

    }
    public class __Funcs{
        WebView appView;
        public __Funcs(WebView appView){
            this.appView = appView;
        }
        public void EnableZoom(){
            this.appView.getSettings().setSupportZoom(true);
            this.appView.getSettings().setBuiltInZoomControls(true);

        }
        public float DisableZoom(){
            this.appView.getSettings().setBuiltInZoomControls(false);
            this.appView.getSettings().setSupportZoom(false);
            this.appView.getSettings().setDefaultZoom(ZoomDensity.FAR);

            return this.appView.getScale();
        }
    }
}
4

1 に答える 1

2

ズームを初期値にリセットする唯一の方法は、ビューポート設定を使用して初期スケールを設定し、ページをリロードすることだと思います。Android Phonegap アプリの私のテストで getSettings().setLoadWithOverviewMode(true)は、ビューポート経由で設定が行われていない場合にのみ機能しました。

于 2014-06-28T15:10:23.890 に答える