1

アプリケーションにWebビューがあり、そのWebビューのデータを動的に取得し、そのビューのズームインコントロールを使用しています。このURLhttp ://content.vaayoo.com/AppsPlatForm/DealsaheadWeb/m_facebooks.aspx?Token=moc.liamg@liahsを取得すると、ズームインコントロールが表示されます。しかし、以下のURL https://maps.google.com/?saddr=12.9302,77.5831&daddr=12.928464,77.584258を取得すると、ズームコントロールが表示されません。問題は何ですか?どんな種類の助けも大歓迎です..以下は私のコードです..

 protected void applyStyles() {

    // applying the zooming property to webview.
    final FrameLayout.LayoutParams ZOOM_PARAMS = new FrameLayout.LayoutParams(
            ViewGroup.LayoutParams.WRAP_CONTENT,
            ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.TOP);

    View zoom = ((WebView) view).getZoomControls();
    FrameLayout ContentView = (FrameLayout) ((Activity) context)
            .getWindow().getDecorView().findViewById(android.R.id.content);
    ContentView.addView(zoom, ZOOM_PARAMS);
    zoom.setVisibility(View.VISIBLE);
}

以下は、webviewのすべての設定を行っているコードです。

if (data != null && webview != null) {
        String webData = data.toString();
        webview.getSettings().setJavaScriptEnabled(true);
        webview.getSettings().setLoadWithOverviewMode(true);
        webview.getSettings().setDefaultZoom(WebSettings.ZoomDensity.MEDIUM);
        webview.getSettings().setUseWideViewPort(false);
        //webview.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
        webview.getSettings().setBuiltInZoomControls(true);
        webview.getSettings().setSupportZoom(true);


        webview.requestFocus(View.FOCUS_DOWN);
        webview.setOnTouchListener(new View.OnTouchListener() {

            public boolean onTouch(View v, MotionEvent event) {

                switch (event.getAction()) {
                    case MotionEvent.ACTION_DOWN:


                    case MotionEvent.ACTION_UP:
                        if (!v.hasFocus()) {
                            v.requestFocus();
                        }

                        break;
                }
                return false;
            }
        });
        System.out.println("webdata" +  webData);
        if (webData.startsWith("http")) {
            webview.loadUrl(webData);



        } else {
            webview.loadData(webData, "text/html", "utf-8");
        }           
    }

前もって感謝します

4

2 に答える 2

2

Webview を持っている場合は、このように webview のズームのこれらのプロパティを有効にする必要があります-

webview.getSettings().setSupportZoom(true);
webview.getSettings().setBuiltInZoomControls(true);

この後、デフォルトのズーム機能が表示されます。この提案がお役に立てば幸いです。ありがとう

于 2012-10-29T09:33:12.287 に答える
1

setJavaScriptEnabledtrueに設定してみてください。あなたもそれを達成することができます

WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);

また、次のプロパティWebViewが存在することを確認してください

webSettings.setSupportZoom(true);
webSettings.setBuiltInZoomControls(true);
于 2012-10-29T10:44:14.653 に答える