当前位置:编程学习 > 网站相关 >>

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  
      

补充:综合编程 , 其他综合 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,