Подтвердить что ты не робот

Отключить двойное нажатие Zoom/Unzoom на веб-просмотре

На Android я использую webview для отображения диаграммы, разработанной флотом API.

Я использую этот код:

    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 (true) и setUseWideViewPort (true)).

Но пользователь все еще может масштабировать и разворачивать график, дважды нажав на него.

Я хочу предотвратить это действие, я попытался поместить свой веб-просмотр в clickable = false, focusable = false и focusableintouchmode = false, но он не работает.

Я тоже пробовал:

webview.getSettings().setBuiltInZoomControls(false);

Но это не сработает. У вас есть какие-либо подсказки?

4b9b3361

Ответ 1

попробуйте установить

webView.getSettings().setUseWideViewPort(false);

и примените масштаб вручную, чтобы он соответствовал ширине.