Как реализовать прокрутку для дочернего элемента ViewFlipper?

Я реализовал 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? Будет здорово, если кто-нибудь предложит мне какой-нибудь код.


person Santhosh_pulliman    schedule 18.01.2012    source источник


Ответы (1)


Почему вы используете ViewFlipper, когда хотите использовать scroll_effect (анимацию) в переходах между представлениями, почему бы вам не добавить эти компоненты/представления в линейный макет в виде прокрутки.

person jeet    schedule 18.01.2012
comment
Реализовать эти компоненты в линейном макете в scrooview просто, но результирующий список будет намного длиннее. Я хочу реализовать ViewFlipper, потому что ViewFlipper делает мое приложение умным и простым, переворачивая каждую страницу путем скольжения, и каждое дочернее представление будет отдельной страницей. - person Santhosh_pulliman; 18.01.2012
comment
затем просто добавьте представления для просмотра флиппера и установите анимацию slide_in, выдвиньте для просмотра флиппера - person jeet; 18.01.2012
comment
и переопределить событие касания в представлениях, которые вы добавляете, и в соответствии с событием касания отобразить следующее представление - person jeet; 18.01.2012
comment
Моя проблема связана с просмотром прокрутки внутри каждого дочернего представления :( - person Santhosh_pulliman; 18.01.2012