0

다른 웹보기에서 다른 웹 페이지를 표시하는 응용 프로그램을 개발 중입니다. 현재, 다음 및 이전 버튼을 사용하여 각각 다음 및 이전 페이지로 이동합니다.android에서 웹보기를 슬라이드하는 방법

하지만 슬라이드 제스처를 추가하여 다음 및 이전 페이지로 이동하고 싶습니다. 사용자가 오른쪽에서 왼쪽으로 슬라이드하면 다음 페이지가 열리고 사용자가 왼쪽에서 오른쪽으로 슬라이드하면 이전 페이지가 열립니다. (전자 책 리더처럼)

Google에서 시도했지만 Google에서 검색했지만 웹 뷰가 아닌 이미지 뷰에서만 슬라이드 효과를 발견했습니다.

웹보기에서 제스처를 사용하여 현재 페이지에서 다음 페이지 또는 이전 페이지로 이동할 수있는 방법을 안내해주십시오.

+1

체크 아웃 [링크] (http://stackoverflow.com/a/4229387/2345913) – CRUSADER

+0

감사 십자군 –

답변

0

터치 이벤트 방법을 무시하려면 표준 WebView를 재정의해야합니다. this 답변에서 예제를 찾을 수 있습니다.

0

이 정보가 도움이되기를 바랍니다.

private class CustomeGestureDetector extends SimpleOnGestureListener 
    {  
     @Override 
     public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { 
      if(e1 == null || e2 == null) 
       return false; 
      if(e1.getPointerCount() > 1 || e2.getPointerCount() > 1) 
       return false; 
      else 
      { 
       try 
       { 
        // right to left swipe .. go to next page 
        if(e1.getX() - e2.getX() > 100 && Math.abs(velocityX) > 800) 
        { 
         if((pg_no-1) == cpg_no) 
         { 
          cpg_no = 0 ; 
          if(contentDetails.size() > (page_no+2)) 
           page_no++ ; 
         } 
         else 
         { 
          cpg_no++; 
         } 
         onPageTurn(); 
         Log.e(" right turn ", "go to next page"); 
         //do your stuff 
         return true; 
        } //left to right swipe .. go to prev page 
        else if (e2.getX() - e1.getX() > 100 && Math.abs(velocityX) > 800) 
        { 
         if(0 < (page_no)) 
          page_no-- ; 
         onPageTurn(); 
         Log.e(" left turn ", "go to prev page"); 
         //do your stuff 
         return true; 
        } //bottom to top, go to next document 
        else if(e1.getY() - e2.getY() > 100 && Math.abs(velocityY) > 800 && webview.getScrollY() >= webview.getScale() * (webview.getContentHeight() - webview.getHeight())) 
        { 
         //do your stuff 
         return false; 
        } //top to bottom, go to prev document 
        else if (e2.getY() - e1.getY() > 100 && Math.abs(velocityY) > 800) 
        { 
         //do your stuff 
         return false; 
        } 
       } 
       catch (Exception e) 
       { 
        // nothing 
       } 
       return false; 
      } 
     } 
    } 
+0

는 전체 코드와 함께 할 수있는 방법을 내부 활동을 구현하는 방법? –