2012-01-26 58 views
10

在Android上,我正在使用webview来显示由API flot设计的图表。在webview上禁用双击缩放/取消缩放

我正在使用此代码:

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"); 

该图显示正确和填充整个网页视图即使宽度和高度是不一样的,在开始(由于setLoadWithOverviewMode(真)和setUseWideViewPort(真正))。

但用户仍然可以通过双击来放大和缩小图形。

我想要防止这个动作,我试图把我的webview clickable = false,focusable = false和focusableintouchmode = false,但它不起作用。

我想这也:

webview.getSettings().setBuiltInZoomControls(false); 

但它不工作。你有任何线索吗?

+0

http://stackoverflow.com/questions/5125851/enable-disable-zoom-in-android- webview –

+0

请尝试从我的答案类似的问题: http://stackoverflow.com/a/21472048/510577 –

回答

24

尝试设置

webView.getSettings().setUseWideViewPort(false); 

和处理规模手动,以适应宽..

+0

我认为这样的作品,但如何手动缩放宽度?我的图形宽度和高度无法定义,我可以直接从我的代码中缩放它吗? – Thordax

+1

试试这个:http://stackoverflow.com/a/3916700/519955 –

+0

非常感谢!正是我需要的。 – Thordax