1. Check out our companion app, Forums for Android! Download from Google Play

swipe not working for webview

Discussion in 'Application Development' started by natarajan1986, Apr 26, 2012.

  1. natarajan1986

    natarajan1986 Member
    Thread Starter
    5

    Feb 21, 2012
    7
    0
    5
    mobile application developer
    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

Share This Page

Loading...