Android手势识别ViewFlipper触摸动画

我们曾介绍过“在Android开发中使用Gallery实现'多级联动'”和“在Android中实现service动态更新UI界面”。今天给大家介绍一下如何实现Android主页面的左右拖动效果。实现起来很简单,就是使用ViewFlipper来将您要来回拖动的View装在一起,然后与GestureDetector手势识别类来联动,确定要显示哪个View,加上一点点动画效果即可。比如当手指向左快速滑动时跳转到上一个View,手指向右快速滑动时跳转到下一个View,本例中使用图片作为各个View的页面,实现左右快速滑动显示不同的图片。

Android手势识别ViewFlipper触摸动画
Android View

首先来看看我们的layout,如下所示:

<linearlayout androidandroid:layout_height="fill_parent"android:layout_width="fill_parent" android:orientation="vertical"xmlns:android="http://schemas.android.com/apk/res/android"> 



    <viewflipper androidandroid:id="@+id/flipper"android:layout_below="@+id/CockpitLayout"android:layout_height="fill_parent" android:layout_width="fill_parent"> 




        <include android:id="@+id/firstlayout" layout="@layout/first"> 




        <include android:id="@+id/secondlayout" layout="@layout/second"> 




        <include android:id="@+id/thirdlayout" layout="@layout/third"> 




        <include android:id="@+id/fourthlayout" layout="@layout/fourth"> 




    </include></include></include></include></viewflipper> 




</linearlayout> 



 

如上所示,在ViewFlipper中放置多个layout(接下来会在不同的layout中来回滑动),ViewFlipper在同一个页面就显示其中一个layout。

ViewFlipper中的四个layout很简单,我们就放置一张图片,如下所示:

<linearlayout androidandroid:gravity="center_vertical"android:layout_height="fill_parent" android:layout_width="fill_parent"xmlns:android="http://schemas.android.com/apk/res/android"> 



  <imageview androidandroid:layout_height="wrap_content"android:layout_width="wrap_content" android:src="@drawable/v1"> 




</imageview></linearlayout> 



 

接下来我们来看看Activity,我们的Activity需要实现两个接口OnGestureListener,OnTouchListener。具体的代码如下所示,代码中都有相应的注释,这里就不再详述。

相关推荐