2012-07-16 5 views
-1

En fait, j'ai GestureDetector pour un WebView, ça marche, je peux changer la page à charger par balayage gauche et droite, mais zoom, panoramique et liens actifs a cessé de fonctionner. Ceci est l'auditeur:Ajouter un événement à GestureDetector

private GestureDetector.SimpleOnGestureListener sogl = new GestureDetector.SimpleOnGestureListener() { 

     public boolean onDown(MotionEvent event) { 
      Log.d("Gesture","onDown"); 
      return true; 
     } 

     public boolean onFling(MotionEvent event1, MotionEvent event2, float velocityX, float velocityY) { 
      if (event1.getRawX() > event2.getRawX()) { 
       if(currentPage<maxPage) 
        currentPage++; 
       webV.loadUrl("file:///sdcard" + Values.APP_FOLDER + "/" + catalogo +"/versione-html/" + currentPage + estensione); 
      } else { 
       if(currentPage>1) 
        currentPage--; 
       webV.loadUrl("file:///sdcard" + Values.APP_FOLDER + "/" + catalogo +"/versione-html/" + currentPage + estensione); 
      } 
      return true; 
     } 
    }; 

La question est: puis-je ajouter cet événement unique (swipe gauche et à droite) à la valeur par défaut WebView GestureDetector? J'ai besoin de zoomer et de garder des liens actifs sur le webview et aussi changer de page avec glisser.

Nous vous remercions de votre aide.

+0

essayer de retourner faux dans 'onFling'. – adneal

Répondre

0

conjecture sauvage, mais j'envisagerait d'envoyer toutes les touches que vous recevez à l'intérieur du GestureDetector jusqu'à la WebView via webV.onTouchEvent(event)