在Webview上禁用双击缩放/取消缩放

时间:2012-01-26 13:24:04

标签: android webview zoom

在Android上,我正在使用webview来显示由API flot设计的图表。

我正在使用此代码:

    super.onCreate(savedInstanceState);
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.graphique);

    // Get a reference to the declared WebView holder
    WebView webview = (WebView) this.findViewById(R.id.webView1);

    // Get the settings
    WebSettings webSettings = webview.getSettings();

    // Enable Javascript for interaction
    webSettings.setJavaScriptEnabled(true);

    // Make the zoom controls visible
    //webSettings.setBuiltInZoomControls(true);

    // Allow for touching selecting/deselecting data series
    webview.requestFocusFromTouch();

    // Set the client
    webview.setWebViewClient(new WebViewClient());
    webview.setWebChromeClient(new WebChromeClient());
    webview.setBackgroundColor(0);

    webview.getSettings().setLoadWithOverviewMode(true);
    webview.getSettings().setUseWideViewPort(true);
    // Load the URL
    webview.loadUrl("file:///android_asset/graph.html");

图表显示正确并填充整个webview,即使开始时宽度和高度不同(感谢setLoadWithOverviewMode(true)和setUseWideViewPort(true))。

但是用户仍然可以通过双击来缩放和取消缩放图形。

我想阻止此操作,我试图将我的webview设置为clickable = false,focusable = false并且focusableintouchmode = false但是它不起作用。

我也尝试了这个:

webview.getSettings().setBuiltInZoomControls(false);

但它不起作用。你有什么线索吗?

1 个答案:

答案 0 :(得分:24)

尝试设置

webView.getSettings().setUseWideViewPort(false);

并手动处理比例以适应宽度..