`
mickey_hou
  • 浏览: 246476 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Android中实现滑动翻页—使用ViewFlipper

阅读更多
理论:http://blog.csdn.net/arui319/article/details/7210163
代码如下:
public class ViewFlipperActivity extends Activity implements OnGestureListener { 
   
    private static final int FLING_MIN_DISTANCE = 100; 
    private ViewFlipper flipper; 
    private GestureDetector detector; 
    private int[] resuorce = new int[]{R.drawable.jt1,R.drawable.jt2,R.drawable.jt3,R.drawable.jt4,
        R.drawable.jt5,R.drawable.jt6,R.drawable.jt7};
   
    protected void onCreate(Bundle savedInstanceState)
    { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.view_sns_activity); 
        /*
         *  注册一个GestureDetector 
         */
        detector = new GestureDetector(this);
       
        flipper = (ViewFlipper) findViewById(R.id.viewFlipper1); 
        for (int i = 0; i < resuorce.length; i++)
        {
            ImageView image = new ImageView(this);
            image.setBackgroundResource(resuorce[i]);
            flipper.addView(image);
        }
       
    } 
 
    public boolean onTouchEvent(MotionEvent event)
    { 
        /*
         *  将触屏事件交给手势识别类处理 
         */
        return this.detector.onTouchEvent(event); 
    } 
 
    public boolean onDown(MotionEvent e) { 
        return false; 
    } 
 
    public void onShowPress(MotionEvent e) { 
    } 
 
    public boolean onSingleTapUp(MotionEvent e) { 
        return false; 
    } 
 
    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,  float distanceY) { 
        return false; 
    } 
 
    public void onLongPress(MotionEvent e) { 
    } 
 
    /*
     *
     */
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
    { 
        boolean is_fling = false;
        if (e1.getX() - e2.getX() > FLING_MIN_DISTANCE)
        { 
            /*
             * 设置View进入和退出的动画效果 
             */
            this.flipper.setInAnimation(AnimationUtils.loadAnimation(this,  android.R.anim.fade_in)); 
            this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,  android.R.anim.fade_out)); 
            this.flipper.showNext(); 
            is_fling = true; 
        } 
        if (e1.getX() - e2.getX() < -FLING_MIN_DISTANCE)
        { 
            this.flipper.setInAnimation(AnimationUtils.loadAnimation(this,  android.R.anim.fade_in)); 
            this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this,  android.R.anim.fade_out)); 
            this.flipper.showPrevious(); 
            is_fling = true; 
        } 
        return is_fling; 
    }

xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:gravity="center"
android:id="@+id/viewSnsLayout">

<ViewFlipper android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/viewFlipper1"></ViewFlipper>

</RelativeLayout>
分享到:
评论

相关推荐

    解析Android中实现滑动翻页之ViewFlipper的使用详解

    在这种情况下,`ViewFlipper`是一个非常实用的控件,它提供了方便的视图切换功能,并且可以配合手势识别来实现平滑的滑动翻页体验。 `ViewFlipper`类是`ViewAnimator`的子类,而`ViewAnimator`又继承自`FrameLayout...

    android中使用ViewFlipper实现滑动翻页示例

    在Android开发中,ViewFlipper是一个非常有用的布局控件,它允许我们轻松地实现滑动翻页的效果。这个示例将向我们展示如何在应用程序中使用ViewFlipper来创建一个动态翻页界面,使得用户可以通过手势或编程方式切换...

    最简单的ViewFlipper实现图片跟随手势滑动

    在这个自定义ViewFlipper中,我们可以覆盖`onTouchEvent`方法,将触控事件传递给GestureDetector进行处理。 3. **处理滑动手势**: 在GestureDetector的onFling方法中,我们需要根据用户的滑动速度和方向来判断...

    Android 滑动效果ViewFlipper

    **Android滑动效果ViewFlipper详解** 在Android开发中,我们常常需要实现各种动画效果来提升用户体验,其中滑动切换视图是一种常见的交互方式。`ViewFlipper`是Android SDK提供的一种布局容器,它允许我们在多个子...

    TabHost + ViewFlipper实现滑动翻页

    接下来,我们将深入探讨这两个组件以及如何将它们结合使用来实现滑动翻页效果。 `TabHost` 是Android SDK提供的一种容器,它可以容纳多个`TabWidget`(标签)和一个`FrameLayout`(内容区域)。每个`Tab`对应一个...

    Android ViewFlipper实现页面的滑动切换

    下面将详细探讨如何在Android应用中使用ViewFlipper来实现页面的滑动切换。 首先,我们需要了解ViewFlipper的基本结构。一个ViewFlipper可以包含多个子视图,如ImageView、TextView或自定义布局。在初始化时,...

    ViewFlipper翻页效果

    在这个实例中,我们将探讨如何使用ViewFlipper结合动画来实现数字的翻页效果。 首先,我们需要了解ViewFlipper的基本用法。ViewFlipper继承自ViewGroup,它可以包含多个子视图(如TextView、ImageView等)。通过...

    android 手势 滑动翻页

    本教程将详细讲解如何在Android应用中实现上下和左右滑动翻页的效果。 一、Android手势基础 在Android中,手势识别主要依赖于`MotionEvent`类,它包含了用户触摸屏幕时的各种动作信息,如ACTION_DOWN(按下)、...

    android 上下平滑滑动翻页

    在Android开发中,实现平滑滑动翻页的效果是一个常见的需求,特别是在开发阅读应用、相册或者动画展示等场景。这种效果通常会带来更流畅、自然的用户体验,增强应用程序的互动性和吸引力。"android 上下平滑滑动翻页...

    Android使用ViewFlipper实现左右滑动效果面

    在onFling()方法中,判断滑动的方向,如果满足左右滑动条件,则切换ViewFlipper中的视图。 2. **设置GestureDetector的监听器**: 创建一个实现了 GestureDetector.OnGestureListener接口的内部类,并在其中实现...

    Android源码-使用ViewFlipper+GestureDetector实现划动翻页

    在Android开发中,实现用户友好的交互体验是至关重要的,其中划动翻页是一种常见的功能,常见于电子书、幻灯片展示等场景。在这个项目中,开发者利用`ViewFlipper`和`GestureDetector`来实现这一效果。下面将详细...

    android viewflipper 图片滑动demo

    在Android开发中,ViewFlipper是一个非常有用的布局组件,它允许开发者轻松地在多个视图之间切换,常用于实现滑动浏览效果,如教程、引导页或者轮播图等。本示例“android viewflipper 图片滑动demo”正是这样一个...

    Android ViewFlipper 的使用

    在Android开发中,ViewFlipper是一个非常实用的控件,它允许我们轻松地在多个视图之间进行切换,常用于实现动画效果,如轮播图、广告栏等。本篇文章将深入探讨`ViewFlipper`的使用方法及其背后的实现原理。 `...

    Android 滑动翻页源码

    在这段代码里,创建了多个IamgeView(用来显示图片),用一个for循环来添加到了ViewFlipper中。程序运行后,当用手指在屏幕上向左滑动,会显示下一个图片,用手指在屏幕上向右滑动,会显示前一个图片。实现滑动切换...

    TabHost + ViewFlipper实现滑动翻页、切换tab动画效果

    历史最牛、绝对原创、代码简洁、功能强大,华丽的使用TabHost与ViewFlipper结合实现滑动翻页效果,支持tab背景图片自动切换.之前看到别人写的实现方法是重写TabHost,但是代码太繁琐。本程序虽然资源分高点儿,但...

    android ViewFlipper

    在Android开发中,`ViewFlipper`是一个非常实用的视图切换组件,它允许开发者轻松地在多个子视图之间进行动画切换。本项目提供了一个简单的`ViewFlipper`实现,便于初学者理解和掌握其用法。下面我们将深入探讨`...

    Android应用源码之ViewFlipper水平滑动.zip

    在Android应用开发中,ViewFlipper是一个非常实用的组件,它允许开发者实现视图间的平滑切换,通常用于创建类似轮播图或者翻页效果的界面。这个源码示例是专门为安卓学习者设计的,旨在帮助他们理解和掌握如何在...

    安卓滑动翻页特效

    4. **切换视图**:使用`showNext()`或`showPrevious()`方法来切换前后视图,以实现滑动翻页的效果。如果需要自动切换,可以使用`startFlipping()`和`stopFlipping()`来开启或停止自动翻页。 5. **监听事件**:为了...

    Android GridView + ViewFlipper布局界面,模仿“机锋市场.zip

    ViewFlipper常用于实现翻页效果,比如滑动浏览图片或卡片。开发者可以通过设置动画来控制子视图的切换方式,比如淡入淡出、左右滑动等,这能为用户带来更流畅的交互体验。在“机锋市场”的界面中,ViewFlipper可能被...

Global site tag (gtag.js) - Google Analytics