Search code examples
androidscrollviewviewflipper

Scroll view in ViewFlipper forces onFling Gesture not working


I have implemented a ViewFlipper with 8 child view in my application as follows.

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical"
    android:background="@drawable/main_bg"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent">
    <ViewFlipper 
     android:id="@+id/layout_tab_one"
     android:layout_marginTop="70dp"
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent">

     <include 
        layout="@layout/exterior_driverside_1"
        />
     <include 
         layout="@layout/exterior_driverside_2"
         />
     <include 
         layout="@layout/exterior_front_1"
         />
     <include 
         layout="@layout/exterior_front_2"
         />
     <include 
         layout="@layout/exterior_passenger_1"
         />
     <include 
         layout="@layout/exterior_passenger_2"
         />
     <include 
        layout="@layout/exterior_rear_1"
        />
    <include 
        layout="@layout/interior_1"
        />
    <include 
        layout="@layout/interior_2"
        />
    <include 
        layout="@layout/interior_3"
        />
    <include 
        layout="@layout/interior_4"
        />
    <include 
        layout="@layout/interior_5"
        />
    <include 
        layout="@layout/finalpage"
        />
</ViewFlipper>
</LinearLayout>

Each child layout resembles like this.

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
    <TextView 
                    android:id="@+id/check_title"
                    android:layout_marginTop="10dp"
                    android:textColor="#ffffff"
                    android:textStyle="bold"
                    android:layout_marginRight="10dp"
                    android:textSize="18sp"
                    android:layout_alignParentLeft="true" 
                    android:layout_marginLeft="25dp"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="Exterior / Rear     "
                    />
        <RelativeLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/greytop_bg"
            android:paddingLeft="7dp"
            android:paddingRight="7dp"
            android:layout_marginLeft="7dp"
            android:layout_marginRight="7dp"
            >


                 <TextView 
                    android:id="@+id/tailights_txt"
                    android:textColor="#ffffff"
                    android:text="Tailights"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="10dp"
                    />
                   <CheckBox 
                       android:id="@+id/tailights"
                       android:checked="false"
                       android:layout_height="wrap_content"
                       android:layout_width="wrap_content"
                       android:layout_alignParentRight="true"   />
                   <EditText 
                       android:id="@+id/tailights_edit"
                       android:layout_width="fill_parent"
                       android:layout_height="30dp"
                       android:layout_below="@+id/tailights"
                       android:background="@drawable/edit_text"
                       android:hint="Tap to enter comments"
                       android:textSize="10dp"
                       android:visibility="gone"
                       />
                </RelativeLayout>
             <RelativeLayout    
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/greymid_bg"
            android:paddingLeft="7dp"
            android:paddingRight="7dp"
            android:layout_marginLeft="7dp"
            android:layout_marginRight="7dp" >
                 <TextView 
                    android:id="@+id/bootlid_txt"
                    android:textColor="#ffffff"
                    android:text="Boot lid / Tailgate"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="10dp"/>
                   <CheckBox 
                       android:id="@+id/bootlid"
                       android:checked="false"
                       android:layout_height="wrap_content"
                       android:layout_width="wrap_content"
                       android:layout_alignParentRight="true"/>
                   <EditText 
                       android:id="@+id/bootlid_edit"
                       android:layout_width="fill_parent"
                       android:layout_height="30dp"
                       android:layout_below="@+id/bootlid"
                       android:background="@drawable/edit_text"
                       android:hint="Tap to enter comments"
                       android:textSize="10dp"
                       android:visibility="gone"
                       />
                </RelativeLayout>
                <RelativeLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/greymid_bg"
            android:paddingLeft="7dp"
            android:paddingRight="7dp"
            android:layout_marginLeft="7dp"
            android:layout_marginRight="7dp" >
                 <TextView 
                    android:id="@+id/bumperbar_txt"
                    android:textColor="#ffffff"
                    android:text="Bumper Bar"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="10dp"
                    />
                   <CheckBox 
                       android:id="@+id/bumperbar"
                       android:checked="false"
                       android:layout_height="wrap_content"
                       android:layout_width="wrap_content"
                       android:layout_alignParentRight="true"/>
                   <EditText 
                       android:id="@+id/bumperbar_edit"
                       android:layout_width="fill_parent"
                       android:layout_height="30dp"
                       android:layout_below="@+id/bumperbar"
                       android:background="@drawable/edit_text"
                       android:hint="Tap to enter comments"
                       android:textSize="10dp"
                       android:visibility="gone"
                       />
</RelativeLayout>
<RelativeLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/greymid_bg"
            android:paddingLeft="7dp"
            android:paddingRight="7dp"
            android:layout_marginLeft="7dp"
            android:layout_marginRight="7dp" >
                 <TextView 
                    android:id="@+id/mudflaps_txt"
                    android:textColor="#ffffff"
                    android:text="Mud Flaps"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="10dp"
                    />
                   <CheckBox 
                       android:id="@+id/mudflaps"
                       android:checked="false"
                       android:layout_height="wrap_content"
                       android:layout_width="wrap_content"
                       android:layout_alignParentRight="true"/>
                   <EditText 
                       android:id="@+id/mudflaps_edit"
                       android:layout_width="fill_parent"
                       android:layout_height="30dp"
                       android:layout_below="@+id/mudflaps"
                       android:background="@drawable/edit_text"
                       android:hint="Tap to enter comments"
                       android:textSize="10dp"
                       android:visibility="gone"
                       />
</RelativeLayout>
<RelativeLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/greybott_bg"
            android:paddingLeft="7dp"
            android:paddingRight="7dp"
            android:layout_marginLeft="7dp"
            android:layout_marginRight="7dp" >
                 <TextView 
                    android:id="@+id/rear_unapproved_txt3"
                    android:textColor="#ffffff"
                    android:text="Unapproved advertising"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:padding="10dp"
                    />
                   <CheckBox 
                       android:id="@+id/rear_unapproved3"
                       android:checked="false"
                       android:layout_height="wrap_content"
                       android:layout_width="wrap_content"
                       android:layout_alignParentRight="true"/>
                   <EditText 
                       android:id="@+id/rear_unapproved_edit3"
                       android:layout_width="fill_parent"
                       android:layout_height="30dp"
                       android:layout_below="@+id/rear_unapproved3"
                       android:background="@drawable/edit_text"
                       android:hint="Tap to enter comments"
                       android:textSize="10dp"
                       android:visibility="gone"
                       />
</RelativeLayout>
</LinearLayout>

I have implemented onGestureListener(onFling) to switch over another child view of the ViewFlipper. If i put ScrollView for each child view, onFling is not working. But every child view needs a scrollview. How to implement ScrollView in the ViewFlipper ? It will be greatfull if someone suggests some code for me.


Solution

  • Hope this helps you

    @Override
    public boolean dispatchTouchEvent(MotionEvent ev){
        super.dispatchTouchEvent(ev);    
        return productGestureDetector.onTouchEvent(ev); 
    }