3

我正在使用 ViewAnimation :

在 view Animation 的帮助下,我如何像 viewPagger 一样从左到右和从右到左交换屏幕。据我所知,我们可以用 Touch 来做到这一点,但这不是正确的方法,在 Touch 模式下,当我点击 Screen 时,下一个屏幕将可见,但我需要 Like ViewPagger。

<!-- This is View Animation Xml code, In which  we have two Layout(Screen) one for GridView and WebView and Second Layout Screen for ListView and WebView -->

<ViewAnimator
    android:id="@+id/viewSwitcher_ID" <ViewAnimator
    android:id="@+id/viewSwitcher_ID"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
>

<LinearLayout
    android:id="@+id/linear_wWeb"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
        <GridView
            android:id="@+id/gridview"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:numColumns="auto_fit"
            android:verticalSpacing="2dp"
            android:horizontalSpacing="2dp"
            android:columnWidth="500dp"
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:layout_marginTop="10dip"
            android:layout_marginBottom="5dip"
            android:background="@drawable/list_selector"
            android:stretchMode="columnWidth"
            android:gravity="center" />
        <WebView 
            android:id="@+id/webGrid_ID"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@drawable/webview_div"
            android:layout_marginLeft="5dip"
            android:layout_marginRight="5dip"
            android:visibility="gone" />

        </LinearLayout>

        <LinearLayout
            android:id="@+id/linear_wList"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="horizontal"
            android:weightSum="5" >

            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:orientation="vertical" >

                <ListView
                    android:id="@+id/mylist"
                    android:layout_width="wrap_content"
                    android:layout_height="530dp"

                    android:background="@drawable/list_selector" >
                </ListView>

                <RelativeLayout
                    android:id="@+id/gallery_relative_layout"
                    android:layout_width="fill_parent"
                    android:layout_height="70dip"

                    android:layout_gravity="bottom"
                    android:background="@drawable/headertest"
                    android:paddingLeft="4dip"
                    android:paddingRight="4dip"
                    android:paddingTop="5dip"
                    android:paddingBottom="5dip"
                    android:layout_marginBottom="20dip"

                    android:orientation="horizontal" >

                        <ImageButton
                            android:id="@+id/leftArrow"
                            android:layout_width="40dip"
                            android:layout_height="50dip"
                            android:layout_alignParentBottom="true"

                            android:layout_marginBottom="5dip"
                            android:background="@drawable/fleft_arrow" />

                        <HorizontalScrollView
                            android:id="@+id/horizontal"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="2dip"
                            android:layout_marginRight="2dip"
                            android:layout_alignParentBottom="true"
                            android:layout_toLeftOf="@+id/rightArrow"
                            android:layout_toRightOf="@+id/leftArrow" >


                            <LinearLayout
                                android:id="@+id/linearLayout1"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"

                                android:layout_gravity="bottom"
                                android:gravity="center_horizontal|bottom"
                                android:orientation="horizontal"
                                android:layout_marginBottom="5dip"
                                android:layout_alignParentBottom="true" >

                                <Button
                                    android:id="@+id/button1"
                                    android:layout_width="0dp"
                                    android:layout_height="wrap_content"
                                    android:layout_weight="1"
                                    android:background="@drawable/selector1" />

                                <Button
                                    android:id="@+id/button2"
                                    android:layout_width="0dp"
                                    android:layout_height="wrap_content"
                                    android:layout_weight="1"
                                    android:background="@drawable/selector2" />

                                <Button
                                    android:id="@+id/button3"
                                    android:layout_width="0dp"
                                    android:layout_height="wrap_content"
                                    android:layout_weight="1"
                                    android:background="@drawable/selector3" />

                                <Button
                                    android:id="@+id/button4"
                                    android:layout_width="0dp"
                                    android:layout_height="wrap_content"
                                    android:layout_weight="1"
                                    android:background="@drawable/selector4" />

                                <Button
                                    android:id="@+id/button5"
                                    android:layout_width="0dp"
                                    android:layout_height="wrap_content"
                                    android:layout_weight="1"
                                    android:background="@drawable/selector5" />

                <Button
                    android:id="@+id/button6"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/selector6" />

                <Button
                    android:id="@+id/button7"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/selector7" />

                <Button
                    android:id="@+id/button8"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/selector8" />
            </LinearLayout>
        </HorizontalScrollView>
    <ImageButton
            android:id="@+id/rightArrow"
            android:layout_width="40dip"
            android:layout_height="50dip"
            android:layout_marginBottom="5dip"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"


            android:background="@drawable/fright_arrow"
            />
                    </RelativeLayout>
                </LinearLayout>

                <View
                    android:layout_width="2dp"
                    android:layout_height="fill_parent"
                    android:background="@android:color/black" />
                <LinearLayout 
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                      android:layout_weight="3"
                      android:background="@drawable/webview_div">

                    <WebView
                    android:id="@+id/webviewFirstLinear"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="3" />
                </LinearLayout>


            </LinearLayout>





        </ViewAnimator>
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
           >





    <LinearLayout
                android:id="@+id/linear_wWeb"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="vertical" >
     <GridView



        android:id="@+id/gridview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:numColumns="auto_fit"
        android:verticalSpacing="2dp"
        android:horizontalSpacing="2dp"
        android:columnWidth="500dp"
        android:layout_marginLeft="5dip"
        android:layout_marginRight="5dip"
        android:layout_marginTop="10dip"
        android:layout_marginBottom="5dip"
        android:background="@drawable/list_selector"
        android:stretchMode="columnWidth"

        android:gravity="center" />
     <WebView 
         android:id="@+id/webGrid_ID"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
          android:background="@drawable/webview_div"
          android:layout_marginLeft="5dip"
          android:layout_marginRight="5dip"
         android:visibility="gone"
        />



            </LinearLayout>


         <LinearLayout
                android:id="@+id/linear_wList"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:orientation="horizontal"
                android:weightSum="5" >

                <LinearLayout
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="2"

                    android:orientation="vertical" >

                    <ListView
                        android:id="@+id/mylist"
                        android:layout_width="wrap_content"
                        android:layout_height="530dp"

                        android:background="@drawable/list_selector" >
                    </ListView>

                    <RelativeLayout
                        android:id="@+id/gallery_relative_layout"
                        android:layout_width="fill_parent"
                        android:layout_height="70dip"

                        android:layout_gravity="bottom"
                        android:background="@drawable/headertest"
                        android:paddingLeft="4dip"
                        android:paddingRight="4dip"
                        android:paddingTop="5dip"
                        android:paddingBottom="5dip"
                        android:layout_marginBottom="20dip"


                        android:orientation="horizontal" >

             <ImageButton
            android:id="@+id/leftArrow"
            android:layout_width="40dip"
            android:layout_height="50dip"
            android:layout_alignParentBottom="true"

            android:layout_marginBottom="5dip"
            android:background="@drawable/fleft_arrow" />

            <HorizontalScrollView
            android:id="@+id/horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="2dip"
            android:layout_marginRight="2dip"
            android:layout_alignParentBottom="true"
            android:layout_toLeftOf="@+id/rightArrow"
            android:layout_toRightOf="@+id/leftArrow" >



            <LinearLayout
                android:id="@+id/linearLayout1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"

                 android:layout_gravity="bottom"
                android:gravity="center_horizontal|bottom"
                android:orientation="horizontal"
                android:layout_marginBottom="5dip"
                android:layout_alignParentBottom="true" >

                <Button
                    android:id="@+id/button1"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/selector1" />

                <Button
                    android:id="@+id/button2"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/selector2" />

                <Button
                    android:id="@+id/button3"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/selector3" />

                <Button
                    android:id="@+id/button4"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/selector4" />

                <Button
                    android:id="@+id/button5"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/selector5" />

                <Button
                    android:id="@+id/button6"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/selector6" />

                <Button
                    android:id="@+id/button7"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/selector7" />

                <Button
                    android:id="@+id/button8"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:background="@drawable/selector8" />
            </LinearLayout>
        </HorizontalScrollView>
    <ImageButton
            android:id="@+id/rightArrow"
            android:layout_width="40dip"
            android:layout_height="50dip"
            android:layout_marginBottom="5dip"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"


            android:background="@drawable/fright_arrow"
            />
                    </RelativeLayout>
                </LinearLayout>

                <View
                    android:layout_width="2dp"
                    android:layout_height="fill_parent"
                    android:background="@android:color/black" />
                <LinearLayout 
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                      android:layout_weight="3"
                      android:background="@drawable/webview_div">

                    <WebView
                    android:id="@+id/webviewFirstLinear"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="3" />
                </LinearLayout>


            </LinearLayout>





        </ViewAnimator>

我如何在 ViewAnimation 或 Gesture 的帮助下使用左滚动或右滚动来获得这种方法。| 有任何方法可以在使用平移、缩放、旋转等时将屏幕翻转为左侧动画和右侧动画 在此处输入图像描述

4

3 回答 3

0

对于 left_in.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Before rotating, immediately set the alpha to 0. -->
    <objectAnimator
        android:valueFrom="1.0"
        android:valueTo="0.0"
        android:propertyName="alpha"
        android:duration="0" />

    <!-- Rotate. -->
    <objectAnimator
        android:valueFrom="-180"
        android:valueTo="0"
        android:propertyName="rotationY"
        android:interpolator="@android:interpolator/accelerate_decelerate"
        android:duration="@integer/card_flip_time_full" />

    <!-- Half-way through the rotation (see startOffset), set the alpha to 1. -->
    <objectAnimator
        android:valueFrom="0.0"
        android:valueTo="1.0"
        android:propertyName="alpha"
        android:startOffset="@integer/card_flip_time_half"
        android:duration="1" />
</set>

对于 left_out.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- Rotate. -->
    <objectAnimator
        android:valueFrom="0"
        android:valueTo="-180"
        android:propertyName="rotationY"
        android:interpolator="@android:interpolator/accelerate_decelerate"
        android:duration="@integer/card_flip_time_full" />

    <!-- Half-way through the rotation (see startOffset), set the alpha to 0. -->
    <objectAnimator
        android:valueFrom="1.0"
        android:valueTo="0.0"
        android:propertyName="alpha"
        android:startOffset="@integer/card_flip_time_half"
        android:duration="1" />
</set>

您需要在 /res/animator 文件夹下创建两个动画 xml 文件。使用以下代码将动画应用到 View 或 Activity

Intent i = new Intent(first.this, second.class);    
startActivity(i);
overridePendingTransition(R.animator.push_left_in,R.animator.push_left_out);
于 2013-03-06T08:12:12.510 回答
0

以下链接可以帮助您实现您的要求。它与您附加的屏幕截图相同(类似于主屏幕的 Google Play)。

1) https://github.com/astuetz/ViewPagerExtensions

2) https://github.com/astuetz/android-viewpagertabs

于 2013-03-06T07:35:53.930 回答
0

如果您愿意在您的项目中使用库 .. 它可能会对您有所帮助https://github.com/JakeWharton/Android-ViewPagerIndicator

于 2013-03-06T06:39:12.617 回答