GestureDetector的实现 (GestureDetector.OnDoubleTapListener GestureDetector.OnGestureListener)
GestureDetector的使用 GestureDetector.OnDoubleTapListener GestureDetector.OnGestureListener
屏幕的切换是指在一个Activity中切换不同的View,而不是Activity的跳转。最常见的就是FrameLayout包含多个View,例如FrameLayout包含一个系统设置页面和一个个性化页面。
android.widget.ViewAnimator类继承至FrameLayout,ViewAnimator类的作用是为FrameLayout里面的View切换提供动画效果。该类有如下几个和动画相关的函数:
l、setInAnimation:设置View进入屏幕时候使用的动画,该函数有两个版本,一个接受单个参数,类型为android.view.animation.Animation;一个接受两个参数,类型为Context和int,分别为Context对象和定义Animation的resourceID。
2、setOutAnimation: 设置View退出屏幕时候使用的动画,参数setInAnimation函数一样。
3、showNext: 调用该函数来显示FrameLayout里面的下一个View。
4、showPrevious: 调用该函数来显示FrameLayout里面的上一个View。
一般不直接使用ViewAnimator而是使用它的两个子类ViewFlipper和ViewSwitcher。ViewFlipper可以用来指定FrameLayout内多个View之间的切换效果,可以一次指定也可以每次切换的时候都指定单独的效果。该类额外提供了如下几个函数:
isFlipping: 用来判断View切换是否正在进行
setFilpInterval:设置View之间切换的时间间隔
startFlipping:使用上面设置的时间间隔来开始切换所有的View,切换会循环进行
stopFlipping: 停止View切换
ViewSwitcher 顾名思义Switcher特指在两个View之间切换。可以通过该类指定一个ViewSwitcher.ViewFactory 工程类来创建这两个View。该类也具有两个子类ImageSwitcher、TextSwitcher分别用于图片和文本切换。
在教程中通过示例介绍ViewFlipper 的使用,其他的使用方式是类似的。
示例:
ViewFlipper是继承FrameLayout,在他的一个Layout中可以添加多个View对象在示例中定义一个ViewFlipper,里面包含三个ViewGroup作为示例的三个屏幕,每个ViewGroup中包含一个按钮和一张图片,点击按钮则显示下一个屏幕。代码如下(res\layout\main.xml):
[html]
<ViewFlipper
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/mViewFlipper"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:persistentDrawingCache="animation"
android:flipInterval="1000"
android:inAnimation="@anim/left_push_in"
android:outAnimation="@anim/left_push_out">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/flipper_img1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:src="@drawable/phone1"/>
<Button
android:id="@+id/flipper_bn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:alpha="0.5"
android:text="@string/next"
/>
</FrameLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/flipper_img2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitXY"
android:src="@drawable/phone2"/>
<Button
android:id="@+id/flipper_bn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|center_horizontal"
android:alpha="0.5"
android:text="@string/next"
/>
</FrameLayout>
<FrameLayout
 
补充:综合编程 , 其他综合 ,