2012-01-26 18 views
10

Trên Android, tôi đang sử dụng chế độ xem web để hiển thị biểu đồ được thiết kế bởi API.Vô hiệu hóa tính năng Double Tap Zoom/Unzoom trên webview

Tôi đang sử dụng mã này:

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

Đồ thị được hiển thị một cách chính xác và lấp đầy toàn bộ webview thậm chí nếu chiều rộng và chiều cao không phải là cùng một lúc bắt đầu (nhờ setLoadWithOverviewMode (true) và setUseWideViewPort (thật)).

Nhưng người dùng vẫn có thể thu phóng và bỏ khoanh đồ thị bằng cách nhấn đúp vào biểu tượng đó.

Tôi muốn ngăn chặn hành động này, tôi đã cố gắng đặt chế độ xem web của mình thành có thể nhấp = false, focusable = false và focusableintouchmode = false nhưng nó không hoạt động.

Tôi cố gắng này cũng:

webview.getSettings().setBuiltInZoomControls(false); 

Nhưng nó không hoạt động. Bạn có chút manh mối nào không ?

+0

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

+0

Hãy thử một câu trả lời của tôi từ một câu hỏi tương tự: http://stackoverflow.com/a/21472048/510577 –

Trả lời

24

cố gắng thiết lập

webView.getSettings().setUseWideViewPort(false); 

và đối phó với quy mô bằng tay để phù hợp với chiều rộng ..

+0

Tôi nghĩ rằng điều này hoạt động nhưng làm thế nào để mở rộng quy mô theo cách thủ công? Không thể xác định chiều rộng và chiều cao của biểu đồ của tôi, tôi có thể mở rộng quy mô từ mã của tôi trực tiếp không? – Thordax

+1

thử cách này: http://stackoverflow.com/a/3916700/519955 –

+0

Cảm ơn rất nhiều! Chính xác những gì tôi cần. – Thordax

Các vấn đề liên quan