На Android я использую веб-просмотр для отображения диаграммы, разработанной флотом 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);
Но это не работает. У вас есть какая-нибудь подсказка?