swipe not working for webview


  1. natarajan1986

    natarajan1986 Member

    My layout xml
    Code (Text):
    1.  
    2. <?xml version="1.0" encoding="utf-8"?>
    3. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    4.     android:orientation="vertical" android:layout_width="fill_parent"
    5.     android:layout_height="fill_parent" android:background="#ffffff">
    6.  
    7.  
    8.     <RelativeLayout android:id="@+id/l1"
    9.         android:orientation="horizontal" android:layout_width="fill_parent"
    10.         android:background="@drawable/blank_header"
    11.         android:layout_height="60dip">
    12.         <Button android:id="@+id/home" android:layout_height="wrap_content"
    13.             android:layout_gravity="left|center_vertical|center_horizontal"
    14.             android:layout_width="wrap_content" android:layout_marginLeft="3dip"
    15.             android:minHeight="20dip" android:layout_marginTop="0dip"
    16.             android:minWidth="30dip" android:background="@drawable/btn_back">
    17.         </Button>
    18.         <LinearLayout android:layout_height="wrap_content"
    19.             android:gravity="center" android:layout_width="fill_parent"
    20.             android:layout_centerVertical="true" android:layout_marginRight="80dip"
    21.             android:weightSum="1">
    22.             <TextView android:layout_marginTop="5dip"
    23.                 android:layout_marginLeft="215dip" android:text="Epub Reader"
    24.                 android:marqueeRepeatLimit="marquee_forever" android:textSize="15dip"
    25.                 android:layout_gravity="left" android:layout_width="fill_parent"
    26.                 android:id="@+id/txt_chaptertitle" android:ellipsize="marquee"
    27.                 android:singleLine="false" android:layout_height="wrap_content"
    28.                 android:typeface="serif" android:textStyle="bold"
    29.                 android:layout_weight="0.18"></TextView>
    30.         </LinearLayout>
    31.     </RelativeLayout>
    32.     <LinearLayout android:id="@+id/l2" android:layout_below="@id/l1"
    33.         android:orientation="horizontal" android:layout_width="fill_parent"
    34.         android:gravity="right" android:background="#ffffff"
    35.         android:layout_height="wrap_content">
    36.  
    37.  
    38.         <TextView android:textSize="15dip" android:id="@+id/txt_pageCount"
    39.             android:layout_height="30dip" android:layout_width="70dip"
    40.             android:layout_gravity="bottom|right|center_horizontal"
    41.             android:paddingTop="5dip"></TextView>
    42.         </LinearLayout>
    43.  
    44.         <LinearLayout
    45.     android:layout_below="@id/l2"
    46.         android:layout_above="@id/l3"        android:orientation="vertical" android:layout_width="fill_parent"
    47.             android:layout_height="fill_parent" android:background="#ffffff">
    48.             <WebView android:id="@+id/webView3" android:layout_height="fill_parent"
    49.                 android:layout_width="fill_parent">
    50.             </WebView>
    51.         </LinearLayout>
    52.  
    53.     <RelativeLayout android:layout_height="70dip" android:gravity="center" android:layout_width="fill_parent" android:id="@+id/l3" android:background="@drawable/footer" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true">
    54.         <Button  android:layout_height="wrap_content" android:background="@drawable/btnnext" android:id="@+id/button4" android:layout_width="wrap_content" android:layout_centerVertical="true" android:layout_alignParentRight="true"></Button >
    55.         <Button  android:layout_height="wrap_content" android:background="@drawable/btnprevious" android:id="@+id/button3" android:layout_width="wrap_content" android:layout_centerVertical="true" android:layout_alignParentLeft="true"></Button >
    56.    
    57.     </RelativeLayout>
    58. </RelativeLayout>
    59.  
    60.  
    61.  
    I am having webview inside linear layout which in turn inside two relative layouts and the code to detect swipe is

    Code (Text):
    1.  
    2.  
    3. public class Reader{
    4.  
    5.   public void onCreate(Bundle savedInstanceState) {
    6.       super.onCreate(savedInstanceState);
    7.  
    8.  gestureDetector=new GestureDetector(new MyGestureDetector());
    9.  
    10. }
    11.  
    12.   class MyGestureDetector extends SimpleOnGestureListener implements OnGestureListener{
    13.       @Override
    14.       public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
    15.           try {
    16.               if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
    17.                   return false;
    18.               // right to left swipe
    19.               if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {  // left swipe
    20.                  
    21.                   if(isLandscape()){
    22.                       if(isnextButton){
    23.                           forward();
    24.                          
    25.                       }}
    26.                       else{
    27.                       if(isnextButtonPot){
    28.                           forwardPotrait();
    29.                       }
    30.                       }
    31.                        
    32.                  
    33.                  
    34.                  
    35.                  
    36.               }  
    37.               else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {  // right swipe
    38.                  
    39.                  
    40.                      if(isLandscape()){
    41.                       if(ispreviousButton){
    42.                           previous();
    43.                       }}
    44.                       else{
    45.                          
    46.                           if(ispreviousButtonPot){
    47.                               previousPotrait();
    48.                           }
    49.                          
    50.                          
    51.                       }
    52.                  
    53.                  
    54.                  
    55.               }
    56.           }
    57.          
    58.          
    59.           catch (Exception e) {
    60.               // nothing
    61.           }
    62.           return false;
    63.       }
    64.   }
    65.      
    66.  
    67. }
    68.  
    My problem is when i swipe left to right or right to left
    onfling method it is not getting called.I have pulled my hair for whole day so can any one help in this issue.

    :)

    Advertisement
    :
Loading...

Share This Page