Представление прокрутки в ViewFlipper заставляет Fling Gesture не работать - PullRequest
0 голосов
/ 19 января 2012

Я реализовал ViewFlipper с 8 дочерними представлениями в моем приложении следующим образом.

    <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>

Каждый дочерний макет похож на это.

<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>

Я реализовал onGestureListener (onFling) для переключения на другое дочернее представление ViewFlipper. Если я поставлю ScrollView для каждого дочернего представления, onFling не работает. Но каждому дочернему виду нужен вид прокрутки. Как реализовать ScrollView в ViewFlipper? Будет замечательно, если кто-нибудь предложит мне какой-нибудь код.

Ответы [ 2 ]

3 голосов
/ 10 февраля 2012

Надежда Это поможет вам

@Override
public boolean dispatchTouchEvent(MotionEvent ev){
    super.dispatchTouchEvent(ev);    
    return productGestureDetector.onTouchEvent(ev); 
}
0 голосов
/ 05 марта 2015

Да, это действительно работает.Textview прокручивается автоматически при переполнении, если вы не обрабатываете жест смахивания адаптера флиппера вида.Поэтому, когда вы сами обрабатываете жест свайпирования, сделайте прокрутку своего текстового представления добавлением

mTextView.setMovementMethod(new ScrollingMovementMethod()); 

и добавьте функцию dispatchtouchevent, показанную выше, в своей деятельности.

...