Beliscando Zoom no Webview [Android
-
26-09-2019 - |
Pergunta
No meu site, que é carregado no WebView, há um mapa. Existem também scripts Java que detectam toque duplo para zoom, arrastar etc. Mas é possível ter um JavaScript que detecta o uso de zoom de pinça? Existem vários exemplos trabalhando em um iPhone e, no meu site, há um script para o zoom do beliscão, mas está trabalhando apenas no iPhone .....
É possível fazê -lo funcionar no Android?
Obrigado
Solução
Há uma biblioteca de código aberto chamado Android-Pinch que você pode incluir em seu projeto para ativar o zoom de pinça se você mudar seu WebView
para um WebImageView
. Aqui está um exemplo de uso ...
// create the WebImageView object from xml
WebImageView img = (WebImageView) findViewById(R.id.main_pic);
// fetches the image in a background thread
img.setImageFromURL("http://www.mysite.com/mypicture.jpg");
// enable pinch-zoom abilities on the image
new PinchImageView(img);
Outras dicas
Quando você deseja dimensionar o conteúdo da Web em sua WebView e ativar o beliscão e o zoom, prefiro a maneira simples do Android.
webView.getSettings().setBuiltInZoomControls(true);
E você pode até ocultar os controles se estiver usando a API 11 ou superior
webView.getSettings().setDisplayZoomControls(false)
Não está exatamente em uma Webview, mas em qualquer layout, que escrevi um código para detectar pitada em uma exibição do Android.
Levei dias para descobrir uma solução para isso, então fiz meu próprio detector de gesto de pitada personalizado.
Você pode ver no Github: http://github.com/luisfer/neckar
Espero que ajude.
Este excelente tutorial mostra como implementar o gesto de pitada.